Index: pkg/front_end/lib/src/scanner/token.dart |
diff --git a/pkg/front_end/lib/src/scanner/token.dart b/pkg/front_end/lib/src/scanner/token.dart |
index d9a508babfbe55c1e16ead8bc0bbb700345dbfd4..2824fdcb2eb660bef8e07206022008b5bb427260 100644 |
--- a/pkg/front_end/lib/src/scanner/token.dart |
+++ b/pkg/front_end/lib/src/scanner/token.dart |
@@ -10,6 +10,7 @@ import 'dart:collection'; |
import 'package:front_end/src/base/syntactic_entity.dart'; |
import 'package:front_end/src/scanner/string_utilities.dart'; |
+import 'package:front_end/src/fasta/scanner/keyword.dart' as fasta; |
/** |
* The opening half of a grouping pair of tokens. This is used for curly |
@@ -147,108 +148,106 @@ class DocumentationCommentToken extends CommentToken { |
* |
* Clients may not extend, implement or mix-in this class. |
*/ |
-class Keyword { |
- static const Keyword ABSTRACT = const Keyword._('ABSTRACT', "abstract", true); |
+abstract class Keyword { |
+ static const Keyword ABSTRACT = fasta.Keyword.ABSTRACT; |
- static const Keyword AS = const Keyword._('AS', "as", true); |
+ static const Keyword AS = fasta.Keyword.AS; |
- static const Keyword ASSERT = const Keyword._('ASSERT', "assert"); |
+ static const Keyword ASSERT = fasta.Keyword.ASSERT; |
- static const Keyword BREAK = const Keyword._('BREAK', "break"); |
+ static const Keyword BREAK = fasta.Keyword.BREAK; |
- static const Keyword CASE = const Keyword._('CASE', "case"); |
+ static const Keyword CASE = fasta.Keyword.CASE; |
- static const Keyword CATCH = const Keyword._('CATCH', "catch"); |
+ static const Keyword CATCH = fasta.Keyword.CATCH; |
- static const Keyword CLASS = const Keyword._('CLASS', "class"); |
+ static const Keyword CLASS = fasta.Keyword.CLASS; |
- static const Keyword CONST = const Keyword._('CONST', "const"); |
+ static const Keyword CONST = fasta.Keyword.CONST; |
- static const Keyword CONTINUE = const Keyword._('CONTINUE', "continue"); |
+ static const Keyword CONTINUE = fasta.Keyword.CONTINUE; |
- static const Keyword COVARIANT = |
- const Keyword._('COVARIANT', "covariant", true); |
+ static const Keyword COVARIANT = fasta.Keyword.COVARIANT; |
- static const Keyword DEFAULT = const Keyword._('DEFAULT', "default"); |
+ static const Keyword DEFAULT = fasta.Keyword.DEFAULT; |
- static const Keyword DEFERRED = const Keyword._('DEFERRED', "deferred", true); |
+ static const Keyword DEFERRED = fasta.Keyword.DEFERRED; |
- static const Keyword DO = const Keyword._('DO', "do"); |
+ static const Keyword DO = fasta.Keyword.DO; |
- static const Keyword DYNAMIC = const Keyword._('DYNAMIC', "dynamic", true); |
+ static const Keyword DYNAMIC = fasta.Keyword.DYNAMIC; |
- static const Keyword ELSE = const Keyword._('ELSE', "else"); |
+ static const Keyword ELSE = fasta.Keyword.ELSE; |
- static const Keyword ENUM = const Keyword._('ENUM', "enum"); |
+ static const Keyword ENUM = fasta.Keyword.ENUM; |
- static const Keyword EXPORT = const Keyword._('EXPORT', "export", true); |
+ static const Keyword EXPORT = fasta.Keyword.EXPORT; |
- static const Keyword EXTENDS = const Keyword._('EXTENDS', "extends"); |
+ static const Keyword EXTENDS = fasta.Keyword.EXTENDS; |
- static const Keyword EXTERNAL = const Keyword._('EXTERNAL', "external", true); |
+ static const Keyword EXTERNAL = fasta.Keyword.EXTERNAL; |
- static const Keyword FACTORY = const Keyword._('FACTORY', "factory", true); |
+ static const Keyword FACTORY = fasta.Keyword.FACTORY; |
- static const Keyword FALSE = const Keyword._('FALSE', "false"); |
+ static const Keyword FALSE = fasta.Keyword.FALSE; |
- static const Keyword FINAL = const Keyword._('FINAL', "final"); |
+ static const Keyword FINAL = fasta.Keyword.FINAL; |
- static const Keyword FINALLY = const Keyword._('FINALLY', "finally"); |
+ static const Keyword FINALLY = fasta.Keyword.FINALLY; |
- static const Keyword FOR = const Keyword._('FOR', "for"); |
+ static const Keyword FOR = fasta.Keyword.FOR; |
- static const Keyword GET = const Keyword._('GET', "get", true); |
+ static const Keyword GET = fasta.Keyword.GET; |
- static const Keyword IF = const Keyword._('IF', "if"); |
+ static const Keyword IF = fasta.Keyword.IF; |
- static const Keyword IMPLEMENTS = |
- const Keyword._('IMPLEMENTS', "implements", true); |
+ static const Keyword IMPLEMENTS = fasta.Keyword.IMPLEMENTS; |
- static const Keyword IMPORT = const Keyword._('IMPORT', "import", true); |
+ static const Keyword IMPORT = fasta.Keyword.IMPORT; |
- static const Keyword IN = const Keyword._('IN', "in"); |
+ static const Keyword IN = fasta.Keyword.IN; |
- static const Keyword IS = const Keyword._('IS', "is"); |
+ static const Keyword IS = fasta.Keyword.IS; |
- static const Keyword LIBRARY = const Keyword._('LIBRARY', "library", true); |
+ static const Keyword LIBRARY = fasta.Keyword.LIBRARY; |
- static const Keyword NEW = const Keyword._('NEW', "new"); |
+ static const Keyword NEW = fasta.Keyword.NEW; |
- static const Keyword NULL = const Keyword._('NULL', "null"); |
+ static const Keyword NULL = fasta.Keyword.NULL; |
- static const Keyword OPERATOR = const Keyword._('OPERATOR', "operator", true); |
+ static const Keyword OPERATOR = fasta.Keyword.OPERATOR; |
- static const Keyword PART = const Keyword._('PART', "part", true); |
+ static const Keyword PART = fasta.Keyword.PART; |
- static const Keyword RETHROW = const Keyword._('RETHROW', "rethrow"); |
+ static const Keyword RETHROW = fasta.Keyword.RETHROW; |
- static const Keyword RETURN = const Keyword._('RETURN', "return"); |
+ static const Keyword RETURN = fasta.Keyword.RETURN; |
- static const Keyword SET = const Keyword._('SET', "set", true); |
+ static const Keyword SET = fasta.Keyword.SET; |
- static const Keyword STATIC = const Keyword._('STATIC', "static", true); |
+ static const Keyword STATIC = fasta.Keyword.STATIC; |
- static const Keyword SUPER = const Keyword._('SUPER', "super"); |
+ static const Keyword SUPER = fasta.Keyword.SUPER; |
- static const Keyword SWITCH = const Keyword._('SWITCH', "switch"); |
+ static const Keyword SWITCH = fasta.Keyword.SWITCH; |
- static const Keyword THIS = const Keyword._('THIS', "this"); |
+ static const Keyword THIS = fasta.Keyword.THIS; |
- static const Keyword THROW = const Keyword._('THROW', "throw"); |
+ static const Keyword THROW = fasta.Keyword.THROW; |
- static const Keyword TRUE = const Keyword._('TRUE', "true"); |
+ static const Keyword TRUE = fasta.Keyword.TRUE; |
- static const Keyword TRY = const Keyword._('TRY', "try"); |
+ static const Keyword TRY = fasta.Keyword.TRY; |
- static const Keyword TYPEDEF = const Keyword._('TYPEDEF', "typedef", true); |
+ static const Keyword TYPEDEF = fasta.Keyword.TYPEDEF; |
- static const Keyword VAR = const Keyword._('VAR', "var"); |
+ static const Keyword VAR = fasta.Keyword.VAR; |
- static const Keyword VOID = const Keyword._('VOID', "void"); |
+ static const Keyword VOID = fasta.Keyword.VOID; |
- static const Keyword WHILE = const Keyword._('WHILE', "while"); |
+ static const Keyword WHILE = fasta.Keyword.WHILE; |
- static const Keyword WITH = const Keyword._('WITH', "with"); |
+ static const Keyword WITH = fasta.Keyword.WITH; |
static const List<Keyword> values = const <Keyword>[ |
ABSTRACT, |
@@ -311,27 +310,18 @@ class Keyword { |
/** |
* The name of the keyword type. |
*/ |
- final String name; |
+ String get name; |
/** |
* The lexeme for the keyword. |
*/ |
- final String syntax; |
+ String get syntax; |
/** |
* A flag indicating whether the keyword is a pseudo-keyword. Pseudo keywords |
* can be used as identifiers. |
*/ |
- final bool isPseudoKeyword; |
- |
- /** |
- * Initialize a newly created keyword to have the given [name] and [syntax]. |
- * The keyword is a pseudo-keyword if the [isPseudoKeyword] flag is `true`. |
- */ |
- const Keyword._(this.name, this.syntax, [this.isPseudoKeyword = false]); |
- |
- @override |
- String toString() => name; |
+ bool get isPseudoKeyword; |
/** |
* Create a table mapping the lexemes of keywords to the corresponding keyword |