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

Unified Diff: pkg/front_end/lib/src/fasta/parser/parser.dart

Issue 2899043006: cleanup fasta token classes (Closed)
Patch Set: Created 3 years, 7 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/parser/parser.dart
diff --git a/pkg/front_end/lib/src/fasta/parser/parser.dart b/pkg/front_end/lib/src/fasta/parser/parser.dart
index d6c5020be4ea605646e9f057148565d54bf8ca80..7d7f6513d61e5a2b12ddfb7d97c65cb5d6341256 100644
--- a/pkg/front_end/lib/src/fasta/parser/parser.dart
+++ b/pkg/front_end/lib/src/fasta/parser/parser.dart
@@ -61,14 +61,14 @@ import '../scanner/recover.dart' show closeBraceFor, skipToEof;
import '../../scanner/token.dart'
show
ASSIGNMENT_PRECEDENCE,
+ BeginToken,
CASCADE_PRECEDENCE,
EQUALITY_PRECEDENCE,
POSTFIX_PRECEDENCE,
RELATIONAL_PRECEDENCE,
TokenType;
-import '../scanner/token.dart'
- show BeginGroupToken, SymbolToken, isUserDefinableOperator;
+import '../scanner/token.dart' show isUserDefinableOperator;
import '../scanner/token_constants.dart'
show
@@ -650,7 +650,7 @@ class Parser {
token, codeExpectedButGot, "(")
.next;
}
- BeginGroupToken beginGroupToken = token;
+ BeginToken beginGroupToken = token;
Token endToken = beginGroupToken.endGroup;
listener.endFormalParameters(0, token, endToken, kind);
return endToken.next;
@@ -842,7 +842,7 @@ class Parser {
/// [isValidMethodTypeArguments].
Token tryParseMethodTypeArguments(Token token) {
if (!identical(token.kind, LT_TOKEN)) return null;
- BeginGroupToken beginToken = token;
+ BeginToken beginToken = token;
Token endToken = beginToken.endGroup;
if (endToken == null || !identical(endToken.next.kind, OPEN_PAREN_TOKEN)) {
return null;
@@ -897,7 +897,7 @@ class Parser {
// [token] is '>>' of which the final '>' that we are parsing is the first
// character. In order to keep the parsing process on track we must return
// a synthetic '>' corresponding to the second character of that '>>'.
- Token syntheticToken = new SymbolToken(TokenType.GT, token.charOffset + 1);
+ Token syntheticToken = new Token(TokenType.GT, token.charOffset + 1);
syntheticToken.next = token.next;
return syntheticToken;
}
@@ -932,7 +932,7 @@ class Parser {
if (!optional('{', token)) {
return reportUnrecoverableErrorCode(token, codeExpectedBlockToSkip).next;
}
- BeginGroupToken beginGroupToken = token;
+ BeginToken beginGroupToken = token;
Token endGroup = beginGroupToken.endGroup;
if (endGroup == null || !identical(endGroup.kind, $CLOSE_CURLY_BRACKET)) {
return reportUnmatchedToken(beginGroupToken).next;
@@ -1219,8 +1219,8 @@ class Parser {
} while (optional(',', token));
Token next = token.next;
if (identical(token.stringValue, '>>')) {
- token = new SymbolToken(TokenType.GT, token.charOffset);
- token.next = new SymbolToken(TokenType.GT, token.charOffset + 1);
+ token = new Token(TokenType.GT, token.charOffset);
+ token.next = new Token(TokenType.GT, token.charOffset + 1);
token.next.next = next;
}
endStuff(count, begin, token);
@@ -1465,8 +1465,8 @@ class Parser {
}
}
if (optional('<', token.next)) {
- if (token.next is BeginGroupToken) {
- BeginGroupToken beginGroup = token.next;
+ if (token.next is BeginToken) {
+ BeginToken beginGroup = token.next;
if (beginGroup.endGroup == null) {
token = reportUnmatchedToken(beginGroup).next;
} else {
@@ -1492,8 +1492,8 @@ class Parser {
while (isGeneralizedFunctionType(token)) {
token = token.next;
if (optional('<', token)) {
- if (token is BeginGroupToken) {
- BeginGroupToken beginGroup = token;
+ if (token is BeginToken) {
+ BeginToken beginGroup = token;
if (beginGroup.endGroup == null) {
token = reportUnmatchedToken(beginGroup).next;
} else {
@@ -1507,8 +1507,8 @@ class Parser {
}
token = expect("(", token);
}
- if (token is BeginGroupToken) {
- BeginGroupToken beginGroup = token;
+ if (token is BeginToken) {
+ BeginToken beginGroup = token;
if (beginGroup.endGroup == null) {
token = reportUnmatchedToken(beginGroup).next;
} else {
@@ -1772,7 +1772,7 @@ class Parser {
if (identical(peek.kind, LT_TOKEN)) {
// Possibly generic type.
// We are looking at "qualified '<'".
- BeginGroupToken beginGroupToken = peek;
+ BeginToken beginGroupToken = peek;
Token gtToken = beginGroupToken.endGroup;
if (gtToken != null) {
// We are looking at "qualified '<' ... '>' ...".
@@ -1807,7 +1807,7 @@ class Parser {
Token peek = token;
// If there is a generic argument to the function, skip over that one first.
if (identical(peek.kind, LT_TOKEN)) {
- BeginGroupToken beginGroupToken = peek;
+ BeginToken beginGroupToken = peek;
Token closeToken = beginGroupToken.endGroup;
if (closeToken != null) {
peek = closeToken.next;
@@ -1817,7 +1817,7 @@ class Parser {
// Now we just need to skip over the formals.
expect('(', peek);
- BeginGroupToken beginGroupToken = peek;
+ BeginToken beginGroupToken = peek;
Token closeToken = beginGroupToken.endGroup;
if (closeToken != null) {
peek = closeToken.next;
@@ -1841,7 +1841,7 @@ class Parser {
token, codeExpectedClassBodyToSkip)
.next;
}
- BeginGroupToken beginGroupToken = token;
+ BeginToken beginGroupToken = token;
Token endGroup = beginGroupToken.endGroup;
if (endGroup == null || !identical(endGroup.kind, $CLOSE_CURLY_BRACKET)) {
return reportUnmatchedToken(beginGroupToken).next;
@@ -2500,7 +2500,7 @@ class Parser {
return parseVariablesDeclaration(token);
} else if (identical(afterIdKind, OPEN_PAREN_TOKEN)) {
// We are looking at "type identifier '('".
- BeginGroupToken beginParen = afterId;
+ BeginToken beginParen = afterId;
Token endParen = beginParen.endGroup;
// TODO(eernst): Check for NPE as described in issue 26252.
Token afterParens = endParen.next;
@@ -2514,11 +2514,11 @@ class Parser {
}
} else if (identical(afterIdKind, LT_TOKEN)) {
// We are looking at "type identifier '<'".
- BeginGroupToken beginAngle = afterId;
+ BeginToken beginAngle = afterId;
Token endAngle = beginAngle.endGroup;
if (endAngle != null &&
identical(endAngle.next.kind, OPEN_PAREN_TOKEN)) {
- BeginGroupToken beginParen = endAngle.next;
+ BeginToken beginParen = endAngle.next;
Token endParen = beginParen.endGroup;
if (endParen != null) {
Token afterParens = endParen.next;
@@ -2538,7 +2538,7 @@ class Parser {
if (optional(':', token.next)) {
return parseLabeledStatement(token);
} else if (optional('(', token.next)) {
- BeginGroupToken begin = token.next;
+ BeginToken begin = token.next;
// TODO(eernst): Check for NPE as described in issue 26252.
String afterParens = begin.endGroup.next.stringValue;
if (identical(afterParens, '{') ||
@@ -2548,11 +2548,11 @@ class Parser {
return parseFunctionDeclaration(token);
}
} else if (optional('<', token.next)) {
- BeginGroupToken beginAngle = token.next;
+ BeginToken beginAngle = token.next;
Token endAngle = beginAngle.endGroup;
if (endAngle != null &&
identical(endAngle.next.kind, OPEN_PAREN_TOKEN)) {
- BeginGroupToken beginParen = endAngle.next;
+ BeginToken beginParen = endAngle.next;
Token endParen = beginParen.endGroup;
if (endParen != null) {
String afterParens = endParen.next.stringValue;
@@ -2649,7 +2649,7 @@ class Parser {
// Foo() : map = {};
// Foo.x() : map = true ? {} : {};
// }
- BeginGroupToken begin = token.next;
+ BeginToken begin = token.next;
token = (begin.endGroup != null) ? begin.endGroup : token;
token = token.next;
continue;
@@ -2661,7 +2661,7 @@ class Parser {
// Foo() : map = <String, Foo>{};
// Foo.x() : map = true ? <String, Foo>{} : <String, Foo>{};
// }
- BeginGroupToken begin = token.next;
+ BeginToken begin = token.next;
token = (begin.endGroup != null) ? begin.endGroup : token;
token = token.next;
if (identical(token.stringValue, '{')) {
@@ -2675,8 +2675,8 @@ class Parser {
if (!mayParseFunctionExpressions && identical(value, '{')) {
break;
}
- if (token is BeginGroupToken) {
- BeginGroupToken begin = token;
+ if (token is BeginToken) {
+ BeginToken begin = token;
token = (begin.endGroup != null) ? begin.endGroup : token;
} else if (token is ErrorToken) {
reportErrorToken(token, false).next;
@@ -2943,7 +2943,7 @@ class Parser {
}
Token parseParenthesizedExpressionOrFunctionLiteral(Token token) {
- BeginGroupToken beginGroup = token;
+ BeginToken beginGroup = token;
// TODO(eernst): Check for NPE as described in issue 26252.
Token nextToken = beginGroup.endGroup.next;
int kind = nextToken.kind;
@@ -2965,11 +2965,11 @@ class Parser {
}
Token parseParenthesizedExpression(Token token) {
- // We expect [begin] to be of type [BeginGroupToken], but we don't know for
+ // We expect [begin] to be of type [BeginToken], but we don't know for
// sure until after calling expect.
dynamic begin = token;
token = expect('(', token);
- // [begin] is now known to have type [BeginGroupToken].
+ // [begin] is now known to have type [BeginToken].
token = parseExpression(token);
if (!identical(begin.endGroup, token)) {
reportUnexpectedToken(token).next;
@@ -3064,7 +3064,7 @@ class Parser {
/// been parsed, or `listener.handleNoTypeArguments(..)` has been executed.
Token parseLiteralFunctionSuffix(Token token) {
assert(optional('(', token));
- BeginGroupToken beginGroup = token;
+ BeginToken beginGroup = token;
if (beginGroup.endGroup != null) {
Token nextToken = beginGroup.endGroup.next;
int kind = nextToken.kind;
@@ -3090,7 +3090,7 @@ class Parser {
/// Provide token for [constKeyword] if preceded by 'const', null if not.
Token parseLiteralListOrMapOrFunction(Token token, Token constKeyword) {
assert(optional('<', token));
- BeginGroupToken begin = token;
+ BeginToken begin = token;
if (constKeyword == null &&
begin.endGroup != null &&
identical(begin.endGroup.next.kind, OPEN_PAREN_TOKEN)) {
@@ -3136,12 +3136,12 @@ class Parser {
bool isFunctionDeclaration(Token token) {
if (optional('<', token)) {
- BeginGroupToken begin = token;
+ BeginToken begin = token;
if (begin.endGroup == null) return false;
token = begin.endGroup.next;
}
if (optional('(', token)) {
- BeginGroupToken begin = token;
+ BeginToken begin = token;
// TODO(eernst): Check for NPE as described in issue 26252.
String afterParens = begin.endGroup.next.stringValue;
if (identical(afterParens, '{') ||
@@ -3314,7 +3314,7 @@ class Parser {
Token skipArgumentsOpt(Token token) {
listener.handleNoArguments(token);
if (optional('(', token)) {
- BeginGroupToken begin = token;
+ BeginToken begin = token;
return begin.endGroup.next;
} else {
return token;
@@ -3869,7 +3869,7 @@ class Parser {
}
}
- Token reportUnmatchedToken(BeginGroupToken token) {
+ Token reportUnmatchedToken(BeginToken token) {
return reportUnrecoverableError(
token,
() => codeUnmatchedToken.format(
« no previous file with comments | « pkg/front_end/lib/src/fasta/parser/listener.dart ('k') | pkg/front_end/lib/src/fasta/parser/token_stream_rewriter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698