| 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 library fasta.scanner.token; | 5 library fasta.scanner.token; |
| 6 | 6 |
| 7 import 'keyword.dart' show Keyword; | 7 import 'keyword.dart' show Keyword; |
| 8 | 8 |
| 9 import 'precedence.dart' show BAD_INPUT_INFO, EOF_INFO, PrecedenceInfo; | 9 import 'precedence.dart' show BAD_INPUT_INFO, EOF_INFO, PrecedenceInfo; |
| 10 | 10 |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 } | 119 } |
| 120 } | 120 } |
| 121 | 121 |
| 122 /// The character offset of the end of this token within the source text. | 122 /// The character offset of the end of this token within the source text. |
| 123 int get charEnd => charOffset + charCount; | 123 int get charEnd => charOffset + charCount; |
| 124 | 124 |
| 125 bool get isEof => false; | 125 bool get isEof => false; |
| 126 | 126 |
| 127 @override | 127 @override |
| 128 bool get isOperator => info.isOperator; | 128 bool get isOperator => info.isOperator; |
| 129 |
| 130 bool get isBuiltInIdentifier => false; |
| 129 } | 131 } |
| 130 | 132 |
| 131 /** | 133 /** |
| 132 * A [SymbolToken] represents the symbol in its precedence info. | 134 * A [SymbolToken] represents the symbol in its precedence info. |
| 133 * Also used for end of file with EOF_INFO. | 135 * Also used for end of file with EOF_INFO. |
| 134 */ | 136 */ |
| 135 class SymbolToken extends Token { | 137 class SymbolToken extends Token { |
| 136 final PrecedenceInfo info; | 138 final PrecedenceInfo info; |
| 137 | 139 |
| 138 SymbolToken(this.info, int charOffset) : super(charOffset); | 140 SymbolToken(this.info, int charOffset) : super(charOffset); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 KeywordToken(this.keyword, int charOffset) : super(charOffset); | 172 KeywordToken(this.keyword, int charOffset) : super(charOffset); |
| 171 | 173 |
| 172 PrecedenceInfo get info => keyword.info; | 174 PrecedenceInfo get info => keyword.info; |
| 173 | 175 |
| 174 String get lexeme => keyword.syntax; | 176 String get lexeme => keyword.syntax; |
| 175 | 177 |
| 176 String get stringValue => keyword.syntax; | 178 String get stringValue => keyword.syntax; |
| 177 | 179 |
| 178 bool isIdentifier() => keyword.isPseudo || keyword.isBuiltIn; | 180 bool isIdentifier() => keyword.isPseudo || keyword.isBuiltIn; |
| 179 | 181 |
| 182 bool get isBuiltInIdentifier { |
| 183 // TODO(ahe): Remove special case for "deferred" once dartbug.com/29069 is |
| 184 // fixed. |
| 185 return keyword.isBuiltIn || identical("deferred", lexeme); |
| 186 } |
| 187 |
| 180 String toString() => "KeywordToken($lexeme)"; | 188 String toString() => "KeywordToken($lexeme)"; |
| 181 } | 189 } |
| 182 | 190 |
| 183 /** | 191 /** |
| 184 * A String-valued token. Represents identifiers, string literals, | 192 * A String-valued token. Represents identifiers, string literals, |
| 185 * number literals, comments, and error tokens, using the corresponding | 193 * number literals, comments, and error tokens, using the corresponding |
| 186 * precedence info. | 194 * precedence info. |
| 187 */ | 195 */ |
| 188 class StringToken extends Token { | 196 class StringToken extends Token { |
| 189 /** | 197 /** |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 371 identical(value, "<=") || | 379 identical(value, "<=") || |
| 372 identical(value, "<") || | 380 identical(value, "<") || |
| 373 identical(value, "&") || | 381 identical(value, "&") || |
| 374 identical(value, "^") || | 382 identical(value, "^") || |
| 375 identical(value, "|"); | 383 identical(value, "|"); |
| 376 } | 384 } |
| 377 | 385 |
| 378 bool isTernaryOperator(String value) => identical(value, "[]="); | 386 bool isTernaryOperator(String value) => identical(value, "[]="); |
| 379 | 387 |
| 380 bool isMinusOperator(String value) => identical(value, "-"); | 388 bool isMinusOperator(String value) => identical(value, "-"); |
| OLD | NEW |