| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // TODO(jimhug): This should be an interface to work better with tools. | 5 // TODO(jimhug): This should be an interface to work better with tools. |
| 6 /** | 6 /** |
| 7 * Represents a file of source code. | 7 * Represents a file of source code. |
| 8 */ | 8 */ |
| 9 class SourceFile implements Comparable<SourceFile> { | 9 class SourceFile implements Comparable { |
| 10 // TODO(terry): This filename for in memory buffer. May need to rework if | 10 // TODO(terry): This filename for in memory buffer. May need to rework if |
| 11 // filename is used for more than informational. | 11 // filename is used for more than informational. |
| 12 static String IN_MEMORY_FILE = '<buffer>'; | 12 static String IN_MEMORY_FILE = '<buffer>'; |
| 13 | 13 |
| 14 /** The name of the file. */ | 14 /** The name of the file. */ |
| 15 final String filename; | 15 final String filename; |
| 16 | 16 |
| 17 /** The text content of the file. */ | 17 /** The text content of the file. */ |
| 18 String _text; | 18 String _text; |
| 19 | 19 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 } | 125 } |
| 126 } | 126 } |
| 127 | 127 |
| 128 | 128 |
| 129 /** | 129 /** |
| 130 * A range of characters in a [SourceFile]. Used to represent the source | 130 * A range of characters in a [SourceFile]. Used to represent the source |
| 131 * positions of [Token]s and [Node]s for error reporting or other tooling | 131 * positions of [Token]s and [Node]s for error reporting or other tooling |
| 132 * work. | 132 * work. |
| 133 */ | 133 */ |
| 134 // TODO(jmesserly): Rename to Span - but first write cool refactoring tool | 134 // TODO(jmesserly): Rename to Span - but first write cool refactoring tool |
| 135 class SourceSpan implements Comparable<SourceSpan> { | 135 class SourceSpan implements Comparable { |
| 136 /** The [SourceFile] that contains this span. */ | 136 /** The [SourceFile] that contains this span. */ |
| 137 final SourceFile file; | 137 final SourceFile file; |
| 138 | 138 |
| 139 /** The character position of the start of this span. */ | 139 /** The character position of the start of this span. */ |
| 140 final int start; | 140 final int start; |
| 141 | 141 |
| 142 /** The character position of the end of this span. */ | 142 /** The character position of the end of this span. */ |
| 143 final int end; | 143 final int end; |
| 144 | 144 |
| 145 SourceSpan(this.file, this.start, this.end); | 145 SourceSpan(this.file, this.start, this.end); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 | 177 |
| 178 /** Compares two source spans by file and position. Handles nulls. */ | 178 /** Compares two source spans by file and position. Handles nulls. */ |
| 179 int compareTo(SourceSpan other) { | 179 int compareTo(SourceSpan other) { |
| 180 if (file == other.file) { | 180 if (file == other.file) { |
| 181 int d = start - other.start; | 181 int d = start - other.start; |
| 182 return d == 0 ? (end - other.end) : d; | 182 return d == 0 ? (end - other.end) : d; |
| 183 } | 183 } |
| 184 return file.compareTo(other.file); | 184 return file.compareTo(other.file); |
| 185 } | 185 } |
| 186 } | 186 } |
| OLD | NEW |