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

Unified Diff: pkg/analyzer/lib/src/fasta/token_utils.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
« no previous file with comments | « pkg/analyzer/lib/src/fasta/ast_builder.dart ('k') | pkg/analyzer/test/generated/parser_fasta_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer/lib/src/fasta/token_utils.dart
diff --git a/pkg/analyzer/lib/src/fasta/token_utils.dart b/pkg/analyzer/lib/src/fasta/token_utils.dart
index 2926b4118a9a99655cd88f2a652accd86da3e9ed..028cb661f126ddfff04435f21e5c3cd84e51593d 100644
--- a/pkg/analyzer/lib/src/fasta/token_utils.dart
+++ b/pkg/analyzer/lib/src/fasta/token_utils.dart
@@ -8,8 +8,6 @@ import 'package:front_end/src/fasta/scanner/error_token.dart' show ErrorToken;
import 'package:front_end/src/scanner/token.dart' show Keyword;
-import 'package:front_end/src/fasta/scanner/precedence.dart';
-
import 'package:front_end/src/fasta/scanner/token.dart'
show
BeginGroupToken,
@@ -168,9 +166,9 @@ class ToAnalyzerTokenStreamConverter {
/// Converts a single Fasta comment token to an analyzer comment token.
analyzer.CommentToken toAnalyzerCommentToken(Token token) {
TokenType type;
- if (token.type == GENERIC_METHOD_TYPE_ASSIGN) {
+ if (token.type == TokenType.GENERIC_METHOD_TYPE_ASSIGN) {
type = TokenType.GENERIC_METHOD_TYPE_ASSIGN;
- } else if (token.type == GENERIC_METHOD_TYPE_LIST) {
+ } else if (token.type == TokenType.GENERIC_METHOD_TYPE_LIST) {
type = TokenType.GENERIC_METHOD_TYPE_LIST;
} else {
// TODO(paulberry,ahe): It would be nice if the scanner gave us an
@@ -283,9 +281,9 @@ Token fromAnalyzerToken(analyzer.Token token) {
Token symbol(TokenType info) => new SymbolToken(info, token.offset);
switch (token.type) {
case TokenType.DOUBLE:
- return string(DOUBLE_INFO);
+ return string(TokenType.DOUBLE);
case TokenType.HEXADECIMAL:
- return string(HEXADECIMAL_INFO);
+ return string(TokenType.HEXADECIMAL);
case TokenType.IDENTIFIER:
// Certain identifiers have special grammatical meanings even though they
// are neither keywords nor built-in identifiers (e.g. "async"). Analyzer
@@ -296,11 +294,11 @@ Token fromAnalyzerToken(analyzer.Token token) {
assert(keyword.isPseudo);
return new KeywordToken(keyword, token.offset);
} else {
- return string(IDENTIFIER_INFO);
+ return string(TokenType.IDENTIFIER);
}
break;
case TokenType.INT:
- return string(INT_INFO);
+ return string(TokenType.INT);
case TokenType.KEYWORD:
var keyword = Keyword.keywords[token.lexeme];
if (keyword != null) {
@@ -311,144 +309,144 @@ Token fromAnalyzerToken(analyzer.Token token) {
break;
case TokenType.MULTI_LINE_COMMENT:
if (token.lexeme.startsWith('/**')) {
- return new DartDocToken.fromSubstring(
- MULTI_LINE_COMMENT_INFO, token.lexeme, 0, token.lexeme.length, 0);
+ return new DartDocToken.fromSubstring(TokenType.MULTI_LINE_COMMENT,
+ token.lexeme, 0, token.lexeme.length, 0);
}
- return new CommentToken.fromSubstring(
- MULTI_LINE_COMMENT_INFO, token.lexeme, 0, token.lexeme.length, 0);
+ return new CommentToken.fromSubstring(TokenType.MULTI_LINE_COMMENT,
+ token.lexeme, 0, token.lexeme.length, 0);
case TokenType.SCRIPT_TAG:
- return string(SCRIPT_INFO);
+ return string(TokenType.SCRIPT_TAG);
case TokenType.SINGLE_LINE_COMMENT:
if (token.lexeme.startsWith('///')) {
- return new DartDocToken.fromSubstring(
- SINGLE_LINE_COMMENT_INFO, token.lexeme, 0, token.lexeme.length, 0);
+ return new DartDocToken.fromSubstring(TokenType.SINGLE_LINE_COMMENT,
+ token.lexeme, 0, token.lexeme.length, 0);
}
- return new CommentToken.fromSubstring(
- SINGLE_LINE_COMMENT_INFO, token.lexeme, 0, token.lexeme.length, 0);
+ return new CommentToken.fromSubstring(TokenType.SINGLE_LINE_COMMENT,
+ token.lexeme, 0, token.lexeme.length, 0);
case TokenType.STRING:
- return string(STRING_INFO);
+ return string(TokenType.STRING);
case TokenType.AMPERSAND:
- return symbol(AMPERSAND_INFO);
+ return symbol(TokenType.AMPERSAND);
case TokenType.AMPERSAND_AMPERSAND:
- return symbol(AMPERSAND_AMPERSAND_INFO);
+ return symbol(TokenType.AMPERSAND_AMPERSAND);
// case TokenType.AMPERSAND_AMPERSAND_EQ
case TokenType.AMPERSAND_EQ:
- return symbol(AMPERSAND_EQ_INFO);
+ return symbol(TokenType.AMPERSAND_EQ);
case TokenType.AT:
- return symbol(AT_INFO);
+ return symbol(TokenType.AT);
case TokenType.BANG:
- return symbol(BANG_INFO);
+ return symbol(TokenType.BANG);
case TokenType.BANG_EQ:
- return symbol(BANG_EQ_INFO);
+ return symbol(TokenType.BANG_EQ);
case TokenType.BAR:
- return symbol(BAR_INFO);
+ return symbol(TokenType.BAR);
case TokenType.BAR_BAR:
- return symbol(BAR_BAR_INFO);
+ return symbol(TokenType.BAR_BAR);
// case TokenType.BAR_BAR_EQ
case TokenType.BAR_EQ:
- return symbol(BAR_EQ_INFO);
+ return symbol(TokenType.BAR_EQ);
case TokenType.COLON:
- return symbol(COLON_INFO);
+ return symbol(TokenType.COLON);
case TokenType.COMMA:
- return symbol(COMMA_INFO);
+ return symbol(TokenType.COMMA);
case TokenType.CARET:
- return symbol(CARET_INFO);
+ return symbol(TokenType.CARET);
case TokenType.CARET_EQ:
- return symbol(CARET_EQ_INFO);
+ return symbol(TokenType.CARET_EQ);
case TokenType.CLOSE_CURLY_BRACKET:
- return symbol(CLOSE_CURLY_BRACKET_INFO);
+ return symbol(TokenType.CLOSE_CURLY_BRACKET);
case TokenType.CLOSE_PAREN:
- return symbol(CLOSE_PAREN_INFO);
+ return symbol(TokenType.CLOSE_PAREN);
case TokenType.CLOSE_SQUARE_BRACKET:
- return symbol(CLOSE_SQUARE_BRACKET_INFO);
+ return symbol(TokenType.CLOSE_SQUARE_BRACKET);
case TokenType.EQ:
- return symbol(EQ_INFO);
+ return symbol(TokenType.EQ);
case TokenType.EQ_EQ:
- return symbol(EQ_EQ_INFO);
+ return symbol(TokenType.EQ_EQ);
case TokenType.FUNCTION:
- return symbol(FUNCTION_INFO);
+ return symbol(TokenType.FUNCTION);
case TokenType.GT:
- return symbol(GT_INFO);
+ return symbol(TokenType.GT);
case TokenType.GT_EQ:
- return symbol(GT_EQ_INFO);
+ return symbol(TokenType.GT_EQ);
case TokenType.GT_GT:
- return symbol(GT_GT_INFO);
+ return symbol(TokenType.GT_GT);
case TokenType.GT_GT_EQ:
- return symbol(GT_GT_EQ_INFO);
+ return symbol(TokenType.GT_GT_EQ);
case TokenType.HASH:
- return symbol(HASH_INFO);
+ return symbol(TokenType.HASH);
case TokenType.INDEX:
- return symbol(INDEX_INFO);
+ return symbol(TokenType.INDEX);
case TokenType.INDEX_EQ:
- return symbol(INDEX_EQ_INFO);
+ return symbol(TokenType.INDEX_EQ);
case TokenType.LT:
- return beginGroup(LT_INFO);
+ return beginGroup(TokenType.LT);
case TokenType.LT_EQ:
- return symbol(LT_EQ_INFO);
+ return symbol(TokenType.LT_EQ);
case TokenType.LT_LT:
- return symbol(LT_LT_INFO);
+ return symbol(TokenType.LT_LT);
case TokenType.LT_LT_EQ:
- return symbol(LT_LT_EQ_INFO);
+ return symbol(TokenType.LT_LT_EQ);
case TokenType.MINUS:
- return symbol(MINUS_INFO);
+ return symbol(TokenType.MINUS);
case TokenType.MINUS_EQ:
- return symbol(MINUS_EQ_INFO);
+ return symbol(TokenType.MINUS_EQ);
case TokenType.MINUS_MINUS:
- return symbol(MINUS_MINUS_INFO);
+ return symbol(TokenType.MINUS_MINUS);
case TokenType.OPEN_CURLY_BRACKET:
- return beginGroup(OPEN_CURLY_BRACKET_INFO);
+ return beginGroup(TokenType.OPEN_CURLY_BRACKET);
case TokenType.OPEN_PAREN:
- return beginGroup(OPEN_PAREN_INFO);
+ return beginGroup(TokenType.OPEN_PAREN);
case TokenType.OPEN_SQUARE_BRACKET:
- return beginGroup(OPEN_SQUARE_BRACKET_INFO);
+ return beginGroup(TokenType.OPEN_SQUARE_BRACKET);
case TokenType.PERCENT:
- return symbol(PERCENT_INFO);
+ return symbol(TokenType.PERCENT);
case TokenType.PERCENT_EQ:
- return symbol(PERCENT_EQ_INFO);
+ return symbol(TokenType.PERCENT_EQ);
case TokenType.PERIOD:
- return symbol(PERIOD_INFO);
+ return symbol(TokenType.PERIOD);
case TokenType.PERIOD_PERIOD:
- return symbol(PERIOD_PERIOD_INFO);
+ return symbol(TokenType.PERIOD_PERIOD);
case TokenType.PLUS:
- return symbol(PLUS_INFO);
+ return symbol(TokenType.PLUS);
case TokenType.PLUS_EQ:
- return symbol(PLUS_EQ_INFO);
+ return symbol(TokenType.PLUS_EQ);
case TokenType.PLUS_PLUS:
- return symbol(PLUS_PLUS_INFO);
+ return symbol(TokenType.PLUS_PLUS);
case TokenType.QUESTION:
- return symbol(QUESTION_INFO);
+ return symbol(TokenType.QUESTION);
case TokenType.QUESTION_PERIOD:
- return symbol(QUESTION_PERIOD_INFO);
+ return symbol(TokenType.QUESTION_PERIOD);
case TokenType.QUESTION_QUESTION:
- return symbol(QUESTION_QUESTION_INFO);
+ return symbol(TokenType.QUESTION_QUESTION);
case TokenType.QUESTION_QUESTION_EQ:
- return symbol(QUESTION_QUESTION_EQ_INFO);
+ return symbol(TokenType.QUESTION_QUESTION_EQ);
case TokenType.SEMICOLON:
- return symbol(SEMICOLON_INFO);
+ return symbol(TokenType.SEMICOLON);
case TokenType.SLASH:
- return symbol(SLASH_INFO);
+ return symbol(TokenType.SLASH);
case TokenType.SLASH_EQ:
- return symbol(SLASH_EQ_INFO);
+ return symbol(TokenType.SLASH_EQ);
case TokenType.STAR:
- return symbol(STAR_INFO);
+ return symbol(TokenType.STAR);
case TokenType.STAR_EQ:
- return symbol(STAR_EQ_INFO);
+ return symbol(TokenType.STAR_EQ);
case TokenType.STRING_INTERPOLATION_EXPRESSION:
- return beginGroup(STRING_INTERPOLATION_INFO);
+ return beginGroup(TokenType.STRING_INTERPOLATION_EXPRESSION);
case TokenType.STRING_INTERPOLATION_IDENTIFIER:
- return symbol(STRING_INTERPOLATION_IDENTIFIER_INFO);
+ return symbol(TokenType.STRING_INTERPOLATION_IDENTIFIER);
case TokenType.TILDE:
- return symbol(TILDE_INFO);
+ return symbol(TokenType.TILDE);
case TokenType.TILDE_SLASH:
- return symbol(TILDE_SLASH_INFO);
+ return symbol(TokenType.TILDE_SLASH);
case TokenType.TILDE_SLASH_EQ:
- return symbol(TILDE_SLASH_EQ_INFO);
+ return symbol(TokenType.TILDE_SLASH_EQ);
case TokenType.BACKPING:
- return symbol(BACKPING_INFO);
+ return symbol(TokenType.BACKPING);
case TokenType.BACKSLASH:
- return symbol(BACKSLASH_INFO);
+ return symbol(TokenType.BACKSLASH);
case TokenType.PERIOD_PERIOD_PERIOD:
- return symbol(PERIOD_PERIOD_PERIOD_INFO);
+ return symbol(TokenType.PERIOD_PERIOD_PERIOD);
// case TokenType.GENERIC_METHOD_TYPE_ASSIGN
// case TokenType.GENERIC_METHOD_TYPE_LIST
default:
@@ -519,14 +517,14 @@ analyzer.Token toAnalyzerToken(Token token,
case OPEN_SQUARE_BRACKET_TOKEN:
case OPEN_PAREN_TOKEN:
case STRING_INTERPOLATION_TOKEN:
- return makeBeginToken(getTokenType(token));
+ return makeBeginToken(token.type);
default:
if (commentToken == null) {
- return new analyzer.Token(getTokenType(token), token.charOffset);
+ return new analyzer.Token(token.type, token.charOffset);
} else {
return new analyzer.TokenWithComment(
- getTokenType(token), token.charOffset, commentToken);
+ token.type, token.charOffset, commentToken);
}
break;
}
@@ -599,155 +597,3 @@ final _keywordMap = {
"sync": analyzer.Keyword.SYNC,
"yield": analyzer.Keyword.YIELD,
};
-
-TokenType getTokenType(Token token) {
- switch (token.kind) {
- case EOF_TOKEN:
- return TokenType.EOF;
- case DOUBLE_TOKEN:
- return TokenType.DOUBLE;
- case HEXADECIMAL_TOKEN:
- return TokenType.HEXADECIMAL;
- case IDENTIFIER_TOKEN:
- return TokenType.IDENTIFIER;
- case INT_TOKEN:
- return TokenType.INT;
- case KEYWORD_TOKEN:
- return TokenType.KEYWORD;
- // case MULTI_LINE_COMMENT_TOKEN: return TokenType.MULTI_LINE_COMMENT;
- // case SCRIPT_TAG_TOKEN: return TokenType.SCRIPT_TAG;
- // case SINGLE_LINE_COMMENT_TOKEN: return TokenType.SINGLE_LINE_COMMENT;
- case STRING_TOKEN:
- return TokenType.STRING;
- case AMPERSAND_TOKEN:
- return TokenType.AMPERSAND;
- case AMPERSAND_AMPERSAND_TOKEN:
- return TokenType.AMPERSAND_AMPERSAND;
- // case AMPERSAND_AMPERSAND_EQ_TOKEN:
- // return TokenType.AMPERSAND_AMPERSAND_EQ;
- case AMPERSAND_EQ_TOKEN:
- return TokenType.AMPERSAND_EQ;
- case AT_TOKEN:
- return TokenType.AT;
- case BANG_TOKEN:
- return TokenType.BANG;
- case BANG_EQ_TOKEN:
- return TokenType.BANG_EQ;
- case BAR_TOKEN:
- return TokenType.BAR;
- case BAR_BAR_TOKEN:
- return TokenType.BAR_BAR;
- // case BAR_BAR_EQ_TOKEN: return TokenType.BAR_BAR_EQ;
- case BAR_EQ_TOKEN:
- return TokenType.BAR_EQ;
- case COLON_TOKEN:
- return TokenType.COLON;
- case COMMA_TOKEN:
- return TokenType.COMMA;
- case CARET_TOKEN:
- return TokenType.CARET;
- case CARET_EQ_TOKEN:
- return TokenType.CARET_EQ;
- case CLOSE_CURLY_BRACKET_TOKEN:
- return TokenType.CLOSE_CURLY_BRACKET;
- case CLOSE_PAREN_TOKEN:
- return TokenType.CLOSE_PAREN;
- case CLOSE_SQUARE_BRACKET_TOKEN:
- return TokenType.CLOSE_SQUARE_BRACKET;
- case EQ_TOKEN:
- return TokenType.EQ;
- case EQ_EQ_TOKEN:
- return TokenType.EQ_EQ;
- case FUNCTION_TOKEN:
- return TokenType.FUNCTION;
- case GT_TOKEN:
- return TokenType.GT;
- case GT_EQ_TOKEN:
- return TokenType.GT_EQ;
- case GT_GT_TOKEN:
- return TokenType.GT_GT;
- case GT_GT_EQ_TOKEN:
- return TokenType.GT_GT_EQ;
- case HASH_TOKEN:
- return TokenType.HASH;
- case INDEX_TOKEN:
- return TokenType.INDEX;
- case INDEX_EQ_TOKEN:
- return TokenType.INDEX_EQ;
- // case IS_TOKEN: return TokenType.IS;
- case LT_TOKEN:
- return TokenType.LT;
- case LT_EQ_TOKEN:
- return TokenType.LT_EQ;
- case LT_LT_TOKEN:
- return TokenType.LT_LT;
- case LT_LT_EQ_TOKEN:
- return TokenType.LT_LT_EQ;
- case MINUS_TOKEN:
- return TokenType.MINUS;
- case MINUS_EQ_TOKEN:
- return TokenType.MINUS_EQ;
- case MINUS_MINUS_TOKEN:
- return TokenType.MINUS_MINUS;
- case OPEN_CURLY_BRACKET_TOKEN:
- return TokenType.OPEN_CURLY_BRACKET;
- case OPEN_PAREN_TOKEN:
- return TokenType.OPEN_PAREN;
- case OPEN_SQUARE_BRACKET_TOKEN:
- return TokenType.OPEN_SQUARE_BRACKET;
- case PERCENT_TOKEN:
- return TokenType.PERCENT;
- case PERCENT_EQ_TOKEN:
- return TokenType.PERCENT_EQ;
- case PERIOD_TOKEN:
- return TokenType.PERIOD;
- case PERIOD_PERIOD_TOKEN:
- return TokenType.PERIOD_PERIOD;
- case PLUS_TOKEN:
- return TokenType.PLUS;
- case PLUS_EQ_TOKEN:
- return TokenType.PLUS_EQ;
- case PLUS_PLUS_TOKEN:
- return TokenType.PLUS_PLUS;
- case QUESTION_TOKEN:
- return TokenType.QUESTION;
- case QUESTION_PERIOD_TOKEN:
- return TokenType.QUESTION_PERIOD;
- case QUESTION_QUESTION_TOKEN:
- return TokenType.QUESTION_QUESTION;
- case QUESTION_QUESTION_EQ_TOKEN:
- return TokenType.QUESTION_QUESTION_EQ;
- case SEMICOLON_TOKEN:
- return TokenType.SEMICOLON;
- case SLASH_TOKEN:
- return TokenType.SLASH;
- case SLASH_EQ_TOKEN:
- return TokenType.SLASH_EQ;
- case STAR_TOKEN:
- return TokenType.STAR;
- case STAR_EQ_TOKEN:
- return TokenType.STAR_EQ;
- case STRING_INTERPOLATION_TOKEN:
- return TokenType.STRING_INTERPOLATION_EXPRESSION;
- case STRING_INTERPOLATION_IDENTIFIER_TOKEN:
- return TokenType.STRING_INTERPOLATION_IDENTIFIER;
- case TILDE_TOKEN:
- return TokenType.TILDE;
- case TILDE_SLASH_TOKEN:
- return TokenType.TILDE_SLASH;
- case TILDE_SLASH_EQ_TOKEN:
- return TokenType.TILDE_SLASH_EQ;
- case BACKPING_TOKEN:
- return TokenType.BACKPING;
- case BACKSLASH_TOKEN:
- return TokenType.BACKSLASH;
- case PERIOD_PERIOD_PERIOD_TOKEN:
- return TokenType.PERIOD_PERIOD_PERIOD;
- case GENERIC_METHOD_TYPE_LIST_TOKEN:
- return TokenType.GENERIC_METHOD_TYPE_LIST;
- case GENERIC_METHOD_TYPE_ASSIGN_TOKEN:
- return TokenType.GENERIC_METHOD_TYPE_ASSIGN;
- default:
- return internalError("Unhandled token ${token.info}");
- }
-}
« no previous file with comments | « pkg/analyzer/lib/src/fasta/ast_builder.dart ('k') | pkg/analyzer/test/generated/parser_fasta_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698