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 |