Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(842)

Unified Diff: pkg/front_end/lib/src/fasta/scanner/precedence.dart

Issue 2837473002: merge fasta.PrecedenceInfo into analyzer.TokenType (Closed)
Patch Set: rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/front_end/lib/src/fasta/scanner/precedence.dart
diff --git a/pkg/front_end/lib/src/fasta/scanner/precedence.dart b/pkg/front_end/lib/src/fasta/scanner/precedence.dart
index f9251069602adb7b007ea8d1404077cb575f162c..98d79514a698a692a573220080d8efa1ab397e1b 100644
--- a/pkg/front_end/lib/src/fasta/scanner/precedence.dart
+++ b/pkg/front_end/lib/src/fasta/scanner/precedence.dart
@@ -5,372 +5,284 @@
library fasta.scanner.precedence;
import '../../scanner/token.dart';
+import '../../scanner/token.dart' as analyzer;
import 'token_constants.dart';
-class PrecedenceInfo extends TokenType {
- const PrecedenceInfo(String value, String name, int precedence, int kind,
- {bool isOperator: false, bool isUserDefinableOperator: false})
- : super(value, name, precedence, kind,
- isOperator: isOperator,
- isUserDefinableOperator: isUserDefinableOperator);
-
- toString() => 'PrecedenceInfo($value, $name, $precedence, $kind)';
-
- static const List<PrecedenceInfo> all = const <PrecedenceInfo>[
- BACKPING_INFO,
- BACKSLASH_INFO,
- PERIOD_PERIOD_PERIOD_INFO,
- PERIOD_PERIOD_INFO,
- BANG_INFO,
- COLON_INFO,
- INDEX_INFO,
- MINUS_MINUS_INFO,
- PLUS_PLUS_INFO,
- TILDE_INFO,
- FUNCTION_INFO,
- HASH_INFO,
- INDEX_EQ_INFO,
- SEMICOLON_INFO,
- COMMA_INFO,
- AT_INFO,
- AMPERSAND_EQ_INFO,
- BAR_EQ_INFO,
- CARET_EQ_INFO,
- EQ_INFO,
- GT_GT_EQ_INFO,
- LT_LT_EQ_INFO,
- MINUS_EQ_INFO,
- PERCENT_EQ_INFO,
- PLUS_EQ_INFO,
- SLASH_EQ_INFO,
- STAR_EQ_INFO,
- TILDE_SLASH_EQ_INFO,
- QUESTION_QUESTION_EQ_INFO,
- QUESTION_INFO,
- QUESTION_QUESTION_INFO,
- BAR_BAR_INFO,
- AMPERSAND_AMPERSAND_INFO,
- BAR_INFO,
- CARET_INFO,
- AMPERSAND_INFO,
- BANG_EQ_EQ_INFO,
- BANG_EQ_INFO,
- EQ_EQ_EQ_INFO,
- EQ_EQ_INFO,
- GT_EQ_INFO,
- GT_INFO,
- IS_INFO,
- AS_INFO,
- LT_EQ_INFO,
- LT_INFO,
- GT_GT_INFO,
- LT_LT_INFO,
- MINUS_INFO,
- PLUS_INFO,
- PERCENT_INFO,
- SLASH_INFO,
- STAR_INFO,
- TILDE_SLASH_INFO,
- PERIOD_INFO,
- QUESTION_PERIOD_INFO,
- KEYWORD_INFO,
- EOF_INFO,
- IDENTIFIER_INFO,
- BAD_INPUT_INFO,
- OPEN_PAREN_INFO,
- CLOSE_PAREN_INFO,
- OPEN_CURLY_BRACKET_INFO,
- CLOSE_CURLY_BRACKET_INFO,
- INT_INFO,
- STRING_INFO,
- OPEN_SQUARE_BRACKET_INFO,
- CLOSE_SQUARE_BRACKET_INFO,
- DOUBLE_INFO,
- STRING_INTERPOLATION_INFO,
- STRING_INTERPOLATION_IDENTIFIER_INFO,
- HEXADECIMAL_INFO,
- SINGLE_LINE_COMMENT_INFO,
- MULTI_LINE_COMMENT_INFO,
- GENERIC_METHOD_TYPE_ASSIGN,
- GENERIC_METHOD_TYPE_LIST,
- ];
-}
-
-const int NO_PRECEDENCE = 0;
-const int ASSIGNMENT_PRECEDENCE = 1;
-const int CASCADE_PRECEDENCE = 2;
-const int CONDITIONAL_PRECEDENCE = 3;
-const int IF_NULL_PRECEDENCE = 4;
-const int LOGICAL_OR_PRECEDENCE = 5;
-const int LOGICAL_AND_PRECEDENCE = 6;
-const int EQUALITY_PRECEDENCE = 7;
-const int RELATIONAL_PRECEDENCE = 8;
-const int BITWISE_OR_PRECEDENCE = 9;
-const int BITWISE_XOR_PRECEDENCE = 10;
-const int BITWISE_AND_PRECEDENCE = 11;
-const int SHIFT_PRECEDENCE = 12;
-const int ADDITIVE_PRECEDENCE = 13;
-const int MULTIPLICATIVE_PRECEDENCE = 14;
-const int PREFIX_PRECEDENCE = 15;
-const int POSTFIX_PRECEDENCE = 16;
+const int NO_PRECEDENCE = analyzer.NO_PRECEDENCE;
+const int ASSIGNMENT_PRECEDENCE = analyzer.ASSIGNMENT_PRECEDENCE;
+const int CASCADE_PRECEDENCE = analyzer.CASCADE_PRECEDENCE;
+const int CONDITIONAL_PRECEDENCE = analyzer.CONDITIONAL_PRECEDENCE;
+const int IF_NULL_PRECEDENCE = analyzer.IF_NULL_PRECEDENCE;
+const int LOGICAL_OR_PRECEDENCE = analyzer.LOGICAL_OR_PRECEDENCE;
+const int LOGICAL_AND_PRECEDENCE = analyzer.LOGICAL_AND_PRECEDENCE;
+const int EQUALITY_PRECEDENCE = analyzer.EQUALITY_PRECEDENCE;
+const int RELATIONAL_PRECEDENCE = analyzer.RELATIONAL_PRECEDENCE;
+const int BITWISE_OR_PRECEDENCE = analyzer.BITWISE_OR_PRECEDENCE;
+const int BITWISE_XOR_PRECEDENCE = analyzer.BITWISE_XOR_PRECEDENCE;
+const int BITWISE_AND_PRECEDENCE = analyzer.BITWISE_AND_PRECEDENCE;
+const int SHIFT_PRECEDENCE = analyzer.SHIFT_PRECEDENCE;
+const int ADDITIVE_PRECEDENCE = analyzer.ADDITIVE_PRECEDENCE;
+const int MULTIPLICATIVE_PRECEDENCE = analyzer.MULTIPLICATIVE_PRECEDENCE;
+const int PREFIX_PRECEDENCE = analyzer.PREFIX_PRECEDENCE;
+const int POSTFIX_PRECEDENCE = analyzer.POSTFIX_PRECEDENCE;
// TODO(ahe): The following are not tokens in Dart.
-const PrecedenceInfo BACKPING_INFO =
- const PrecedenceInfo('`', 'BACKPING', NO_PRECEDENCE, BACKPING_TOKEN);
-const PrecedenceInfo BACKSLASH_INFO =
- const PrecedenceInfo('\\', 'BACKSLASH', NO_PRECEDENCE, BACKSLASH_TOKEN);
-const PrecedenceInfo PERIOD_PERIOD_PERIOD_INFO = const PrecedenceInfo(
+const TokenType BACKPING_INFO =
+ const TokenType('`', 'BACKPING', NO_PRECEDENCE, BACKPING_TOKEN);
+const TokenType BACKSLASH_INFO =
+ const TokenType('\\', 'BACKSLASH', NO_PRECEDENCE, BACKSLASH_TOKEN);
+const TokenType PERIOD_PERIOD_PERIOD_INFO = const TokenType(
'...', 'PERIOD_PERIOD_PERIOD', NO_PRECEDENCE, PERIOD_PERIOD_PERIOD_TOKEN);
/**
* The cascade operator has the lowest precedence of any operator
* except assignment.
*/
-const PrecedenceInfo PERIOD_PERIOD_INFO = const PrecedenceInfo(
+const TokenType PERIOD_PERIOD_INFO = const TokenType(
'..', 'PERIOD_PERIOD', CASCADE_PRECEDENCE, PERIOD_PERIOD_TOKEN,
isOperator: true);
-const PrecedenceInfo BANG_INFO = const PrecedenceInfo(
+const TokenType BANG_INFO = const TokenType(
'!', 'BANG', PREFIX_PRECEDENCE, BANG_TOKEN,
isOperator: true);
-const PrecedenceInfo COLON_INFO =
- const PrecedenceInfo(':', 'COLON', NO_PRECEDENCE, COLON_TOKEN);
-const PrecedenceInfo INDEX_INFO = const PrecedenceInfo(
+const TokenType COLON_INFO =
+ const TokenType(':', 'COLON', NO_PRECEDENCE, COLON_TOKEN);
+const TokenType INDEX_INFO = const TokenType(
'[]', 'INDEX', NO_PRECEDENCE, INDEX_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo MINUS_MINUS_INFO = const PrecedenceInfo(
+const TokenType MINUS_MINUS_INFO = const TokenType(
'--', 'MINUS_MINUS', POSTFIX_PRECEDENCE, MINUS_MINUS_TOKEN,
isOperator: true);
-const PrecedenceInfo PLUS_PLUS_INFO = const PrecedenceInfo(
+const TokenType PLUS_PLUS_INFO = const TokenType(
'++', 'PLUS_PLUS', POSTFIX_PRECEDENCE, PLUS_PLUS_TOKEN,
isOperator: true);
-const PrecedenceInfo TILDE_INFO = const PrecedenceInfo(
+const TokenType TILDE_INFO = const TokenType(
'~', 'TILDE', PREFIX_PRECEDENCE, TILDE_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo FUNCTION_INFO =
- const PrecedenceInfo('=>', 'FUNCTION', NO_PRECEDENCE, FUNCTION_TOKEN);
-const PrecedenceInfo HASH_INFO =
- const PrecedenceInfo('#', 'HASH', NO_PRECEDENCE, HASH_TOKEN);
-const PrecedenceInfo INDEX_EQ_INFO = const PrecedenceInfo(
+const TokenType FUNCTION_INFO =
+ const TokenType('=>', 'FUNCTION', NO_PRECEDENCE, FUNCTION_TOKEN);
+const TokenType HASH_INFO =
+ const TokenType('#', 'HASH', NO_PRECEDENCE, HASH_TOKEN);
+const TokenType INDEX_EQ_INFO = const TokenType(
'[]=', 'INDEX_EQ', NO_PRECEDENCE, INDEX_EQ_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo SEMICOLON_INFO =
- const PrecedenceInfo(';', 'SEMICOLON', NO_PRECEDENCE, SEMICOLON_TOKEN);
-const PrecedenceInfo COMMA_INFO =
- const PrecedenceInfo(',', 'COMMA', NO_PRECEDENCE, COMMA_TOKEN);
+const TokenType SEMICOLON_INFO =
+ const TokenType(';', 'SEMICOLON', NO_PRECEDENCE, SEMICOLON_TOKEN);
+const TokenType COMMA_INFO =
+ const TokenType(',', 'COMMA', NO_PRECEDENCE, COMMA_TOKEN);
-const PrecedenceInfo AT_INFO =
- const PrecedenceInfo('@', 'AT', NO_PRECEDENCE, AT_TOKEN);
+const TokenType AT_INFO = const TokenType('@', 'AT', NO_PRECEDENCE, AT_TOKEN);
// Assignment operators.
-const PrecedenceInfo AMPERSAND_EQ_INFO = const PrecedenceInfo(
+const TokenType AMPERSAND_EQ_INFO = const TokenType(
'&=', 'AMPERSAND_EQ', ASSIGNMENT_PRECEDENCE, AMPERSAND_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo BAR_EQ_INFO = const PrecedenceInfo(
+const TokenType BAR_EQ_INFO = const TokenType(
'|=', 'BAR_EQ', ASSIGNMENT_PRECEDENCE, BAR_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo CARET_EQ_INFO = const PrecedenceInfo(
+const TokenType CARET_EQ_INFO = const TokenType(
'^=', 'CARET_EQ', ASSIGNMENT_PRECEDENCE, CARET_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo EQ_INFO = const PrecedenceInfo(
+const TokenType EQ_INFO = const TokenType(
'=', 'EQ', ASSIGNMENT_PRECEDENCE, EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo GT_GT_EQ_INFO = const PrecedenceInfo(
+const TokenType GT_GT_EQ_INFO = const TokenType(
'>>=', 'GT_GT_EQ', ASSIGNMENT_PRECEDENCE, GT_GT_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo LT_LT_EQ_INFO = const PrecedenceInfo(
+const TokenType LT_LT_EQ_INFO = const TokenType(
'<<=', 'LT_LT_EQ', ASSIGNMENT_PRECEDENCE, LT_LT_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo MINUS_EQ_INFO = const PrecedenceInfo(
+const TokenType MINUS_EQ_INFO = const TokenType(
'-=', 'MINUS_EQ', ASSIGNMENT_PRECEDENCE, MINUS_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo PERCENT_EQ_INFO = const PrecedenceInfo(
+const TokenType PERCENT_EQ_INFO = const TokenType(
'%=', 'PERCENT_EQ', ASSIGNMENT_PRECEDENCE, PERCENT_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo PLUS_EQ_INFO = const PrecedenceInfo(
+const TokenType PLUS_EQ_INFO = const TokenType(
'+=', 'PLUS_EQ', ASSIGNMENT_PRECEDENCE, PLUS_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo SLASH_EQ_INFO = const PrecedenceInfo(
+const TokenType SLASH_EQ_INFO = const TokenType(
'/=', 'SLASH_EQ', ASSIGNMENT_PRECEDENCE, SLASH_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo STAR_EQ_INFO = const PrecedenceInfo(
+const TokenType STAR_EQ_INFO = const TokenType(
'*=', 'STAR_EQ', ASSIGNMENT_PRECEDENCE, STAR_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo TILDE_SLASH_EQ_INFO = const PrecedenceInfo(
+const TokenType TILDE_SLASH_EQ_INFO = const TokenType(
'~/=', 'TILDE_SLASH_EQ', ASSIGNMENT_PRECEDENCE, TILDE_SLASH_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo QUESTION_QUESTION_EQ_INFO = const PrecedenceInfo('??=',
+const TokenType QUESTION_QUESTION_EQ_INFO = const TokenType('??=',
'QUESTION_QUESTION_EQ', ASSIGNMENT_PRECEDENCE, QUESTION_QUESTION_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo QUESTION_INFO = const PrecedenceInfo(
+const TokenType QUESTION_INFO = const TokenType(
'?', 'QUESTION', CONDITIONAL_PRECEDENCE, QUESTION_TOKEN,
isOperator: true);
-const PrecedenceInfo QUESTION_QUESTION_INFO = const PrecedenceInfo(
+const TokenType QUESTION_QUESTION_INFO = const TokenType(
'??', 'QUESTION_QUESTION', IF_NULL_PRECEDENCE, QUESTION_QUESTION_TOKEN,
isOperator: true);
-const PrecedenceInfo BAR_BAR_INFO = const PrecedenceInfo(
+const TokenType BAR_BAR_INFO = const TokenType(
'||', 'BAR_BAR', LOGICAL_OR_PRECEDENCE, BAR_BAR_TOKEN,
isOperator: true);
-const PrecedenceInfo AMPERSAND_AMPERSAND_INFO = const PrecedenceInfo('&&',
+const TokenType AMPERSAND_AMPERSAND_INFO = const TokenType('&&',
'AMPERSAND_AMPERSAND', LOGICAL_AND_PRECEDENCE, AMPERSAND_AMPERSAND_TOKEN,
isOperator: true);
-const PrecedenceInfo BAR_INFO = const PrecedenceInfo(
+const TokenType BAR_INFO = const TokenType(
'|', 'BAR', BITWISE_OR_PRECEDENCE, BAR_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo CARET_INFO = const PrecedenceInfo(
+const TokenType CARET_INFO = const TokenType(
'^', 'CARET', BITWISE_XOR_PRECEDENCE, CARET_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo AMPERSAND_INFO = const PrecedenceInfo(
+const TokenType AMPERSAND_INFO = const TokenType(
'&', 'AMPERSAND', BITWISE_AND_PRECEDENCE, AMPERSAND_TOKEN,
isOperator: true, isUserDefinableOperator: true);
// Equality operators.
-const PrecedenceInfo BANG_EQ_EQ_INFO = const PrecedenceInfo(
- '!==', 'BANG_EQ_EQ', EQUALITY_PRECEDENCE, BANG_EQ_EQ_TOKEN);
-const PrecedenceInfo BANG_EQ_INFO = const PrecedenceInfo(
+const TokenType BANG_EQ_EQ_INFO =
+ const TokenType('!==', 'BANG_EQ_EQ', EQUALITY_PRECEDENCE, BANG_EQ_EQ_TOKEN);
+const TokenType BANG_EQ_INFO = const TokenType(
'!=', 'BANG_EQ', EQUALITY_PRECEDENCE, BANG_EQ_TOKEN,
isOperator: true);
-const PrecedenceInfo EQ_EQ_EQ_INFO = const PrecedenceInfo(
- '===', 'EQ_EQ_EQ', EQUALITY_PRECEDENCE, EQ_EQ_EQ_TOKEN);
-const PrecedenceInfo EQ_EQ_INFO = const PrecedenceInfo(
+const TokenType EQ_EQ_EQ_INFO =
+ const TokenType('===', 'EQ_EQ_EQ', EQUALITY_PRECEDENCE, EQ_EQ_EQ_TOKEN);
+const TokenType EQ_EQ_INFO = const TokenType(
'==', 'EQ_EQ', EQUALITY_PRECEDENCE, EQ_EQ_TOKEN,
isOperator: true, isUserDefinableOperator: true);
// Relational operators.
-const PrecedenceInfo GT_EQ_INFO = const PrecedenceInfo(
+const TokenType GT_EQ_INFO = const TokenType(
'>=', 'GT_EQ', RELATIONAL_PRECEDENCE, GT_EQ_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo GT_INFO = const PrecedenceInfo(
+const TokenType GT_INFO = const TokenType(
'>', 'GT', RELATIONAL_PRECEDENCE, GT_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo IS_INFO =
- const PrecedenceInfo('is', 'IS', RELATIONAL_PRECEDENCE, KEYWORD_TOKEN);
-const PrecedenceInfo AS_INFO =
- const PrecedenceInfo('as', 'AS', RELATIONAL_PRECEDENCE, KEYWORD_TOKEN);
-const PrecedenceInfo LT_EQ_INFO = const PrecedenceInfo(
+const TokenType IS_INFO =
+ const TokenType('is', 'IS', RELATIONAL_PRECEDENCE, KEYWORD_TOKEN);
+const TokenType AS_INFO =
+ const TokenType('as', 'AS', RELATIONAL_PRECEDENCE, KEYWORD_TOKEN);
+const TokenType LT_EQ_INFO = const TokenType(
'<=', 'LT_EQ', RELATIONAL_PRECEDENCE, LT_EQ_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo LT_INFO = const PrecedenceInfo(
+const TokenType LT_INFO = const TokenType(
'<', 'LT', RELATIONAL_PRECEDENCE, LT_TOKEN,
isOperator: true, isUserDefinableOperator: true);
// Shift operators.
-const PrecedenceInfo GT_GT_INFO = const PrecedenceInfo(
+const TokenType GT_GT_INFO = const TokenType(
'>>', 'GT_GT', SHIFT_PRECEDENCE, GT_GT_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo LT_LT_INFO = const PrecedenceInfo(
+const TokenType LT_LT_INFO = const TokenType(
'<<', 'LT_LT', SHIFT_PRECEDENCE, LT_LT_TOKEN,
isOperator: true, isUserDefinableOperator: true);
// Additive operators.
-const PrecedenceInfo MINUS_INFO = const PrecedenceInfo(
+const TokenType MINUS_INFO = const TokenType(
'-', 'MINUS', ADDITIVE_PRECEDENCE, MINUS_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo PLUS_INFO = const PrecedenceInfo(
+const TokenType PLUS_INFO = const TokenType(
'+', 'PLUS', ADDITIVE_PRECEDENCE, PLUS_TOKEN,
isOperator: true, isUserDefinableOperator: true);
// Multiplicative operators.
-const PrecedenceInfo PERCENT_INFO = const PrecedenceInfo(
+const TokenType PERCENT_INFO = const TokenType(
'%', 'PERCENT', MULTIPLICATIVE_PRECEDENCE, PERCENT_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo SLASH_INFO = const PrecedenceInfo(
+const TokenType SLASH_INFO = const TokenType(
'/', 'SLASH', MULTIPLICATIVE_PRECEDENCE, SLASH_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo STAR_INFO = const PrecedenceInfo(
+const TokenType STAR_INFO = const TokenType(
'*', 'STAR', MULTIPLICATIVE_PRECEDENCE, STAR_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo TILDE_SLASH_INFO = const PrecedenceInfo(
+const TokenType TILDE_SLASH_INFO = const TokenType(
'~/', 'TILDE_SLASH', MULTIPLICATIVE_PRECEDENCE, TILDE_SLASH_TOKEN,
isOperator: true, isUserDefinableOperator: true);
-const PrecedenceInfo PERIOD_INFO =
- const PrecedenceInfo('.', 'PERIOD', POSTFIX_PRECEDENCE, PERIOD_TOKEN);
-const PrecedenceInfo QUESTION_PERIOD_INFO = const PrecedenceInfo(
+const TokenType PERIOD_INFO =
+ const TokenType('.', 'PERIOD', POSTFIX_PRECEDENCE, PERIOD_TOKEN);
+const TokenType QUESTION_PERIOD_INFO = const TokenType(
'?.', 'QUESTION_PERIOD', POSTFIX_PRECEDENCE, QUESTION_PERIOD_TOKEN,
isOperator: true);
-const PrecedenceInfo KEYWORD_INFO =
- const PrecedenceInfo('keyword', 'KEYWORD', NO_PRECEDENCE, KEYWORD_TOKEN);
+const TokenType KEYWORD_INFO =
+ const TokenType('keyword', 'KEYWORD', NO_PRECEDENCE, KEYWORD_TOKEN);
-const PrecedenceInfo EOF_INFO =
- const PrecedenceInfo('', 'EOF', NO_PRECEDENCE, EOF_TOKEN);
+const TokenType EOF_INFO = const TokenType('', 'EOF', NO_PRECEDENCE, EOF_TOKEN);
/// Precedence info used by synthetic tokens that are created during parser
/// recovery (non-analyzer use case).
-const PrecedenceInfo RECOVERY_INFO =
- const PrecedenceInfo('recovery', 'RECOVERY', NO_PRECEDENCE, RECOVERY_TOKEN);
+const TokenType RECOVERY_INFO =
+ const TokenType('recovery', 'RECOVERY', NO_PRECEDENCE, RECOVERY_TOKEN);
-const PrecedenceInfo IDENTIFIER_INFO = const PrecedenceInfo(
+const TokenType IDENTIFIER_INFO = const TokenType(
'identifier', 'STRING_INT', NO_PRECEDENCE, IDENTIFIER_TOKEN);
-const PrecedenceInfo SCRIPT_INFO =
- const PrecedenceInfo('script', 'SCRIPT_TAG', NO_PRECEDENCE, SCRIPT_TOKEN);
+const TokenType SCRIPT_INFO =
+ const TokenType('script', 'SCRIPT_TAG', NO_PRECEDENCE, SCRIPT_TOKEN);
-const PrecedenceInfo BAD_INPUT_INFO = const PrecedenceInfo(
+const TokenType BAD_INPUT_INFO = const TokenType(
'malformed input', 'BAD_INPUT', NO_PRECEDENCE, BAD_INPUT_TOKEN);
-const PrecedenceInfo OPEN_PAREN_INFO = const PrecedenceInfo(
- '(', 'OPEN_PAREN', POSTFIX_PRECEDENCE, OPEN_PAREN_TOKEN);
+const TokenType OPEN_PAREN_INFO =
+ const TokenType('(', 'OPEN_PAREN', POSTFIX_PRECEDENCE, OPEN_PAREN_TOKEN);
-const PrecedenceInfo CLOSE_PAREN_INFO =
- const PrecedenceInfo(')', 'CLOSE_PAREN', NO_PRECEDENCE, CLOSE_PAREN_TOKEN);
+const TokenType CLOSE_PAREN_INFO =
+ const TokenType(')', 'CLOSE_PAREN', NO_PRECEDENCE, CLOSE_PAREN_TOKEN);
-const PrecedenceInfo OPEN_CURLY_BRACKET_INFO = const PrecedenceInfo(
+const TokenType OPEN_CURLY_BRACKET_INFO = const TokenType(
'{', 'OPEN_CURLY_BRACKET', NO_PRECEDENCE, OPEN_CURLY_BRACKET_TOKEN);
-const PrecedenceInfo CLOSE_CURLY_BRACKET_INFO = const PrecedenceInfo(
+const TokenType CLOSE_CURLY_BRACKET_INFO = const TokenType(
'}', 'CLOSE_CURLY_BRACKET', NO_PRECEDENCE, CLOSE_CURLY_BRACKET_TOKEN);
-const PrecedenceInfo INT_INFO =
- const PrecedenceInfo('int', 'INT', NO_PRECEDENCE, INT_TOKEN);
+const TokenType INT_INFO =
+ const TokenType('int', 'INT', NO_PRECEDENCE, INT_TOKEN);
-const PrecedenceInfo STRING_INFO =
- const PrecedenceInfo('string', 'STRING', NO_PRECEDENCE, STRING_TOKEN);
+const TokenType STRING_INFO =
+ const TokenType('string', 'STRING', NO_PRECEDENCE, STRING_TOKEN);
-const PrecedenceInfo OPEN_SQUARE_BRACKET_INFO = const PrecedenceInfo(
+const TokenType OPEN_SQUARE_BRACKET_INFO = const TokenType(
'[', 'OPEN_SQUARE_BRACKET', POSTFIX_PRECEDENCE, OPEN_SQUARE_BRACKET_TOKEN);
-const PrecedenceInfo CLOSE_SQUARE_BRACKET_INFO = const PrecedenceInfo(
+const TokenType CLOSE_SQUARE_BRACKET_INFO = const TokenType(
']', 'CLOSE_SQUARE_BRACKET', NO_PRECEDENCE, CLOSE_SQUARE_BRACKET_TOKEN);
-const PrecedenceInfo DOUBLE_INFO =
- const PrecedenceInfo('double', 'DOUBLE', NO_PRECEDENCE, DOUBLE_TOKEN);
+const TokenType DOUBLE_INFO =
+ const TokenType('double', 'DOUBLE', NO_PRECEDENCE, DOUBLE_TOKEN);
-const PrecedenceInfo STRING_INTERPOLATION_INFO = const PrecedenceInfo(
+const TokenType STRING_INTERPOLATION_INFO = const TokenType(
'\${',
'STRING_INTERPOLATION_EXPRESSION',
NO_PRECEDENCE,
STRING_INTERPOLATION_TOKEN);
-const PrecedenceInfo STRING_INTERPOLATION_IDENTIFIER_INFO =
- const PrecedenceInfo('\$', 'STRING_INTERPOLATION_IDENTIFIER', NO_PRECEDENCE,
- STRING_INTERPOLATION_IDENTIFIER_TOKEN);
+const TokenType STRING_INTERPOLATION_IDENTIFIER_INFO = const TokenType(
+ '\$',
+ 'STRING_INTERPOLATION_IDENTIFIER',
+ NO_PRECEDENCE,
+ STRING_INTERPOLATION_IDENTIFIER_TOKEN);
-const PrecedenceInfo HEXADECIMAL_INFO = const PrecedenceInfo(
+const TokenType HEXADECIMAL_INFO = const TokenType(
'hexadecimal', 'HEXADECIMAL', NO_PRECEDENCE, HEXADECIMAL_TOKEN);
-const PrecedenceInfo SINGLE_LINE_COMMENT_INFO = const PrecedenceInfo(
+const TokenType SINGLE_LINE_COMMENT_INFO = const TokenType(
'comment', 'SINGLE_LINE_COMMENT', NO_PRECEDENCE, COMMENT_TOKEN);
-const PrecedenceInfo MULTI_LINE_COMMENT_INFO = const PrecedenceInfo(
+const TokenType MULTI_LINE_COMMENT_INFO = const TokenType(
'comment', 'MULTI_LINE_COMMENT', NO_PRECEDENCE, COMMENT_TOKEN);
-const PrecedenceInfo GENERIC_METHOD_TYPE_ASSIGN = const PrecedenceInfo(
+const TokenType GENERIC_METHOD_TYPE_ASSIGN = const TokenType(
'generic_comment_assign',
'GENERIC_METHOD_TYPE_ASSIGN',
NO_PRECEDENCE,
GENERIC_METHOD_TYPE_ASSIGN_TOKEN);
-const PrecedenceInfo GENERIC_METHOD_TYPE_LIST = const PrecedenceInfo(
+const TokenType GENERIC_METHOD_TYPE_LIST = const TokenType(
'generic_comment_list',
'GENERIC_METHOD_TYPE_LIST',
NO_PRECEDENCE,
« no previous file with comments | « pkg/front_end/lib/src/fasta/scanner/error_token.dart ('k') | pkg/front_end/lib/src/fasta/scanner/recover.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698