| 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 '../../scanner/token.dart' as analyzer; | 7 import '../../scanner/token.dart' as analyzer; |
| 8 | 8 |
| 9 import 'keyword.dart' show Keyword; | |
| 10 | |
| 11 import 'precedence.dart' | 9 import 'precedence.dart' |
| 12 show | 10 show |
| 13 AS_INFO, | 11 AS_INFO, |
| 14 BAD_INPUT_INFO, | 12 BAD_INPUT_INFO, |
| 15 EOF_INFO, | 13 EOF_INFO, |
| 16 IS_INFO, | 14 IS_INFO, |
| 17 KEYWORD_INFO, | 15 KEYWORD_INFO, |
| 18 PrecedenceInfo; | 16 PrecedenceInfo; |
| 19 | 17 |
| 20 import 'token_constants.dart' show IDENTIFIER_TOKEN; | 18 import 'token_constants.dart' show IDENTIFIER_TOKEN; |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 } | 326 } |
| 329 | 327 |
| 330 @override | 328 @override |
| 331 Token copyWithoutComments() => new BeginGroupToken(info, charOffset); | 329 Token copyWithoutComments() => new BeginGroupToken(info, charOffset); |
| 332 } | 330 } |
| 333 | 331 |
| 334 /** | 332 /** |
| 335 * A keyword token. | 333 * A keyword token. |
| 336 */ | 334 */ |
| 337 class KeywordToken extends Token implements analyzer.KeywordTokenWithComment { | 335 class KeywordToken extends Token implements analyzer.KeywordTokenWithComment { |
| 338 final Keyword keyword; | 336 final analyzer.Keyword keyword; |
| 339 | 337 |
| 340 KeywordToken(this.keyword, int charOffset) : super(charOffset); | 338 KeywordToken(this.keyword, int charOffset) : super(charOffset); |
| 341 | 339 |
| 342 PrecedenceInfo get info => keyword.info; | 340 PrecedenceInfo get info => keyword.info; |
| 343 | 341 |
| 344 String get lexeme => keyword.syntax; | 342 String get lexeme => keyword.syntax; |
| 345 | 343 |
| 346 String get stringValue => keyword.syntax; | 344 String get stringValue => keyword.syntax; |
| 347 | 345 |
| 348 bool isIdentifier() => keyword.isPseudo || keyword.isBuiltIn; | 346 bool isIdentifier() => keyword.isPseudo || keyword.isBuiltIn; |
| 349 | 347 |
| 350 bool get isPseudo => keyword.isPseudo; | 348 bool get isPseudo => keyword.isPseudo; |
| 351 | 349 |
| 352 bool get isBuiltInIdentifier => keyword.isBuiltIn; | 350 bool get isBuiltInIdentifier => keyword.isBuiltIn; |
| 353 | 351 |
| 354 String toString() => "KeywordToken($lexeme)"; | 352 String toString() => "KeywordToken($lexeme)"; |
| 355 | 353 |
| 356 @override | 354 @override |
| 357 Token copyWithoutComments() => new KeywordToken(keyword, charOffset); | 355 Token copyWithoutComments() => new KeywordToken(keyword, charOffset); |
| 358 | 356 |
| 359 @override | 357 @override |
| 360 Keyword value() => keyword; | 358 analyzer.Keyword value() => keyword; |
| 361 | 359 |
| 362 @override | 360 @override |
| 363 analyzer.TokenType get type => KEYWORD_INFO; | 361 analyzer.TokenType get type => KEYWORD_INFO; |
| 364 } | 362 } |
| 365 | 363 |
| 366 /** | 364 /** |
| 367 * A synthetic keyword token. | 365 * A synthetic keyword token. |
| 368 */ | 366 */ |
| 369 class SyntheticKeywordToken extends KeywordToken | 367 class SyntheticKeywordToken extends KeywordToken |
| 370 implements analyzer.SyntheticKeywordToken { | 368 implements analyzer.SyntheticKeywordToken { |
| 371 /** | 369 /** |
| 372 * Initialize a newly created token to represent the given [keyword] at the | 370 * Initialize a newly created token to represent the given [keyword] at the |
| 373 * given [offset]. | 371 * given [offset]. |
| 374 */ | 372 */ |
| 375 SyntheticKeywordToken(Keyword keyword, int offset) : super(keyword, offset); | 373 SyntheticKeywordToken(analyzer.Keyword keyword, int offset) |
| 374 : super(keyword, offset); |
| 376 | 375 |
| 377 @override | 376 @override |
| 378 bool get isSynthetic => true; | 377 bool get isSynthetic => true; |
| 379 | 378 |
| 380 @override | 379 @override |
| 381 int get length => 0; | 380 int get length => 0; |
| 382 | 381 |
| 383 @override | 382 @override |
| 384 Token copyWithoutComments() => new SyntheticKeywordToken(keyword, offset); | 383 Token copyWithoutComments() => new SyntheticKeywordToken(keyword, offset); |
| 385 } | 384 } |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 690 identical(value, "<=") || | 689 identical(value, "<=") || |
| 691 identical(value, "<") || | 690 identical(value, "<") || |
| 692 identical(value, "&") || | 691 identical(value, "&") || |
| 693 identical(value, "^") || | 692 identical(value, "^") || |
| 694 identical(value, "|"); | 693 identical(value, "|"); |
| 695 } | 694 } |
| 696 | 695 |
| 697 bool isTernaryOperator(String value) => identical(value, "[]="); | 696 bool isTernaryOperator(String value) => identical(value, "[]="); |
| 698 | 697 |
| 699 bool isMinusOperator(String value) => identical(value, "-"); | 698 bool isMinusOperator(String value) => identical(value, "-"); |
| OLD | NEW |