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

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

Issue 2832403002: merge PrecedenceInfo into TokenType and update all refs (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
deleted file mode 100644
index 98d79514a698a692a573220080d8efa1ab397e1b..0000000000000000000000000000000000000000
--- a/pkg/front_end/lib/src/fasta/scanner/precedence.dart
+++ /dev/null
@@ -1,289 +0,0 @@
-// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-library fasta.scanner.precedence;
-
-import '../../scanner/token.dart';
-import '../../scanner/token.dart' as analyzer;
-import 'token_constants.dart';
-
-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 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 TokenType PERIOD_PERIOD_INFO = const TokenType(
- '..', 'PERIOD_PERIOD', CASCADE_PRECEDENCE, PERIOD_PERIOD_TOKEN,
- isOperator: true);
-
-const TokenType BANG_INFO = const TokenType(
- '!', 'BANG', PREFIX_PRECEDENCE, BANG_TOKEN,
- isOperator: true);
-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 TokenType MINUS_MINUS_INFO = const TokenType(
- '--', 'MINUS_MINUS', POSTFIX_PRECEDENCE, MINUS_MINUS_TOKEN,
- isOperator: true);
-const TokenType PLUS_PLUS_INFO = const TokenType(
- '++', 'PLUS_PLUS', POSTFIX_PRECEDENCE, PLUS_PLUS_TOKEN,
- isOperator: true);
-const TokenType TILDE_INFO = const TokenType(
- '~', 'TILDE', PREFIX_PRECEDENCE, TILDE_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-
-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 TokenType SEMICOLON_INFO =
- const TokenType(';', 'SEMICOLON', NO_PRECEDENCE, SEMICOLON_TOKEN);
-const TokenType COMMA_INFO =
- const TokenType(',', 'COMMA', NO_PRECEDENCE, COMMA_TOKEN);
-
-const TokenType AT_INFO = const TokenType('@', 'AT', NO_PRECEDENCE, AT_TOKEN);
-
-// Assignment operators.
-const TokenType AMPERSAND_EQ_INFO = const TokenType(
- '&=', 'AMPERSAND_EQ', ASSIGNMENT_PRECEDENCE, AMPERSAND_EQ_TOKEN,
- isOperator: true);
-const TokenType BAR_EQ_INFO = const TokenType(
- '|=', 'BAR_EQ', ASSIGNMENT_PRECEDENCE, BAR_EQ_TOKEN,
- isOperator: true);
-const TokenType CARET_EQ_INFO = const TokenType(
- '^=', 'CARET_EQ', ASSIGNMENT_PRECEDENCE, CARET_EQ_TOKEN,
- isOperator: true);
-const TokenType EQ_INFO = const TokenType(
- '=', 'EQ', ASSIGNMENT_PRECEDENCE, EQ_TOKEN,
- isOperator: true);
-const TokenType GT_GT_EQ_INFO = const TokenType(
- '>>=', 'GT_GT_EQ', ASSIGNMENT_PRECEDENCE, GT_GT_EQ_TOKEN,
- isOperator: true);
-const TokenType LT_LT_EQ_INFO = const TokenType(
- '<<=', 'LT_LT_EQ', ASSIGNMENT_PRECEDENCE, LT_LT_EQ_TOKEN,
- isOperator: true);
-const TokenType MINUS_EQ_INFO = const TokenType(
- '-=', 'MINUS_EQ', ASSIGNMENT_PRECEDENCE, MINUS_EQ_TOKEN,
- isOperator: true);
-const TokenType PERCENT_EQ_INFO = const TokenType(
- '%=', 'PERCENT_EQ', ASSIGNMENT_PRECEDENCE, PERCENT_EQ_TOKEN,
- isOperator: true);
-const TokenType PLUS_EQ_INFO = const TokenType(
- '+=', 'PLUS_EQ', ASSIGNMENT_PRECEDENCE, PLUS_EQ_TOKEN,
- isOperator: true);
-const TokenType SLASH_EQ_INFO = const TokenType(
- '/=', 'SLASH_EQ', ASSIGNMENT_PRECEDENCE, SLASH_EQ_TOKEN,
- isOperator: true);
-const TokenType STAR_EQ_INFO = const TokenType(
- '*=', 'STAR_EQ', ASSIGNMENT_PRECEDENCE, STAR_EQ_TOKEN,
- isOperator: true);
-const TokenType TILDE_SLASH_EQ_INFO = const TokenType(
- '~/=', 'TILDE_SLASH_EQ', ASSIGNMENT_PRECEDENCE, TILDE_SLASH_EQ_TOKEN,
- isOperator: true);
-const TokenType QUESTION_QUESTION_EQ_INFO = const TokenType('??=',
- 'QUESTION_QUESTION_EQ', ASSIGNMENT_PRECEDENCE, QUESTION_QUESTION_EQ_TOKEN,
- isOperator: true);
-
-const TokenType QUESTION_INFO = const TokenType(
- '?', 'QUESTION', CONDITIONAL_PRECEDENCE, QUESTION_TOKEN,
- isOperator: true);
-
-const TokenType QUESTION_QUESTION_INFO = const TokenType(
- '??', 'QUESTION_QUESTION', IF_NULL_PRECEDENCE, QUESTION_QUESTION_TOKEN,
- isOperator: true);
-
-const TokenType BAR_BAR_INFO = const TokenType(
- '||', 'BAR_BAR', LOGICAL_OR_PRECEDENCE, BAR_BAR_TOKEN,
- isOperator: true);
-
-const TokenType AMPERSAND_AMPERSAND_INFO = const TokenType('&&',
- 'AMPERSAND_AMPERSAND', LOGICAL_AND_PRECEDENCE, AMPERSAND_AMPERSAND_TOKEN,
- isOperator: true);
-
-const TokenType BAR_INFO = const TokenType(
- '|', 'BAR', BITWISE_OR_PRECEDENCE, BAR_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-
-const TokenType CARET_INFO = const TokenType(
- '^', 'CARET', BITWISE_XOR_PRECEDENCE, CARET_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-
-const TokenType AMPERSAND_INFO = const TokenType(
- '&', 'AMPERSAND', BITWISE_AND_PRECEDENCE, AMPERSAND_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-
-// Equality operators.
-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 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 TokenType GT_EQ_INFO = const TokenType(
- '>=', 'GT_EQ', RELATIONAL_PRECEDENCE, GT_EQ_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-const TokenType GT_INFO = const TokenType(
- '>', 'GT', RELATIONAL_PRECEDENCE, GT_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-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 TokenType LT_INFO = const TokenType(
- '<', 'LT', RELATIONAL_PRECEDENCE, LT_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-
-// Shift operators.
-const TokenType GT_GT_INFO = const TokenType(
- '>>', 'GT_GT', SHIFT_PRECEDENCE, GT_GT_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-const TokenType LT_LT_INFO = const TokenType(
- '<<', 'LT_LT', SHIFT_PRECEDENCE, LT_LT_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-
-// Additive operators.
-const TokenType MINUS_INFO = const TokenType(
- '-', 'MINUS', ADDITIVE_PRECEDENCE, MINUS_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-const TokenType PLUS_INFO = const TokenType(
- '+', 'PLUS', ADDITIVE_PRECEDENCE, PLUS_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-
-// Multiplicative operators.
-const TokenType PERCENT_INFO = const TokenType(
- '%', 'PERCENT', MULTIPLICATIVE_PRECEDENCE, PERCENT_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-const TokenType SLASH_INFO = const TokenType(
- '/', 'SLASH', MULTIPLICATIVE_PRECEDENCE, SLASH_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-const TokenType STAR_INFO = const TokenType(
- '*', 'STAR', MULTIPLICATIVE_PRECEDENCE, STAR_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-const TokenType TILDE_SLASH_INFO = const TokenType(
- '~/', 'TILDE_SLASH', MULTIPLICATIVE_PRECEDENCE, TILDE_SLASH_TOKEN,
- isOperator: true, isUserDefinableOperator: true);
-
-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 TokenType KEYWORD_INFO =
- const TokenType('keyword', 'KEYWORD', NO_PRECEDENCE, KEYWORD_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 TokenType RECOVERY_INFO =
- const TokenType('recovery', 'RECOVERY', NO_PRECEDENCE, RECOVERY_TOKEN);
-
-const TokenType IDENTIFIER_INFO = const TokenType(
- 'identifier', 'STRING_INT', NO_PRECEDENCE, IDENTIFIER_TOKEN);
-
-const TokenType SCRIPT_INFO =
- const TokenType('script', 'SCRIPT_TAG', NO_PRECEDENCE, SCRIPT_TOKEN);
-
-const TokenType BAD_INPUT_INFO = const TokenType(
- 'malformed input', 'BAD_INPUT', NO_PRECEDENCE, BAD_INPUT_TOKEN);
-
-const TokenType OPEN_PAREN_INFO =
- const TokenType('(', 'OPEN_PAREN', POSTFIX_PRECEDENCE, OPEN_PAREN_TOKEN);
-
-const TokenType CLOSE_PAREN_INFO =
- const TokenType(')', 'CLOSE_PAREN', NO_PRECEDENCE, CLOSE_PAREN_TOKEN);
-
-const TokenType OPEN_CURLY_BRACKET_INFO = const TokenType(
- '{', 'OPEN_CURLY_BRACKET', NO_PRECEDENCE, OPEN_CURLY_BRACKET_TOKEN);
-
-const TokenType CLOSE_CURLY_BRACKET_INFO = const TokenType(
- '}', 'CLOSE_CURLY_BRACKET', NO_PRECEDENCE, CLOSE_CURLY_BRACKET_TOKEN);
-
-const TokenType INT_INFO =
- const TokenType('int', 'INT', NO_PRECEDENCE, INT_TOKEN);
-
-const TokenType STRING_INFO =
- const TokenType('string', 'STRING', NO_PRECEDENCE, STRING_TOKEN);
-
-const TokenType OPEN_SQUARE_BRACKET_INFO = const TokenType(
- '[', 'OPEN_SQUARE_BRACKET', POSTFIX_PRECEDENCE, OPEN_SQUARE_BRACKET_TOKEN);
-
-const TokenType CLOSE_SQUARE_BRACKET_INFO = const TokenType(
- ']', 'CLOSE_SQUARE_BRACKET', NO_PRECEDENCE, CLOSE_SQUARE_BRACKET_TOKEN);
-
-const TokenType DOUBLE_INFO =
- const TokenType('double', 'DOUBLE', NO_PRECEDENCE, DOUBLE_TOKEN);
-
-const TokenType STRING_INTERPOLATION_INFO = const TokenType(
- '\${',
- 'STRING_INTERPOLATION_EXPRESSION',
- NO_PRECEDENCE,
- STRING_INTERPOLATION_TOKEN);
-
-const TokenType STRING_INTERPOLATION_IDENTIFIER_INFO = const TokenType(
- '\$',
- 'STRING_INTERPOLATION_IDENTIFIER',
- NO_PRECEDENCE,
- STRING_INTERPOLATION_IDENTIFIER_TOKEN);
-
-const TokenType HEXADECIMAL_INFO = const TokenType(
- 'hexadecimal', 'HEXADECIMAL', NO_PRECEDENCE, HEXADECIMAL_TOKEN);
-
-const TokenType SINGLE_LINE_COMMENT_INFO = const TokenType(
- 'comment', 'SINGLE_LINE_COMMENT', NO_PRECEDENCE, COMMENT_TOKEN);
-
-const TokenType MULTI_LINE_COMMENT_INFO = const TokenType(
- 'comment', 'MULTI_LINE_COMMENT', NO_PRECEDENCE, COMMENT_TOKEN);
-
-const TokenType GENERIC_METHOD_TYPE_ASSIGN = const TokenType(
- 'generic_comment_assign',
- 'GENERIC_METHOD_TYPE_ASSIGN',
- NO_PRECEDENCE,
- GENERIC_METHOD_TYPE_ASSIGN_TOKEN);
-
-const TokenType GENERIC_METHOD_TYPE_LIST = const TokenType(
- 'generic_comment_list',
- 'GENERIC_METHOD_TYPE_LIST',
- NO_PRECEDENCE,
- GENERIC_METHOD_TYPE_LIST_TOKEN);
« 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