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

Unified Diff: pkg/dart_parser/lib/src/parser.dart

Issue 2647343003: Update dart2js unit tests to dart_parser and dart_scanner. (Closed)
Patch Set: Address review comments. Created 3 years, 11 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/dart_parser/lib/src/listener.dart ('k') | tests/compiler/dart2js/diagnostic_reporter_helper.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/dart_parser/lib/src/parser.dart
diff --git a/pkg/dart_parser/lib/src/parser.dart b/pkg/dart_parser/lib/src/parser.dart
index bc9988dcd3272b6f4855f346b46879e465176402..c9706d793b4ded445291e6197fca45567025ccce 100644
--- a/pkg/dart_parser/lib/src/parser.dart
+++ b/pkg/dart_parser/lib/src/parser.dart
@@ -852,6 +852,7 @@ class Parser {
token = parseQualifiedRestOpt(token);
} else {
token = reportUnrecoverableError(token, ErrorKind.ExpectedType);
+ listener.handleInvalidTypeReference(token);
}
token = parseTypeArgumentsOpt(token);
listener.endType(begin, token);
@@ -1792,7 +1793,9 @@ class Parser {
Token begin = token;
int statementCount = 0;
if (!optional('{', token)) {
- return reportUnrecoverableError(token, ErrorKind.ExpectedFunctionBody);
+ token = reportUnrecoverableError(token, ErrorKind.ExpectedFunctionBody);
+ listener.handleInvalidFunctionBody(token);
+ return token;
}
listener.beginFunctionBody(begin);
@@ -2366,11 +2369,11 @@ class Parser {
return parseFunctionExpression(token);
} else if (asyncAwaitKeywordsEnabled &&
(value == 'yield' || value == 'async')) {
- return reportUnrecoverableError(token, ErrorKind.ExpectedExpression);
+ return expressionExpected(token);
} else if (token.isIdentifier()) {
return parseSendOrFunctionLiteral(token);
} else {
- return reportUnrecoverableError(token, ErrorKind.ExpectedExpression);
+ return expressionExpected(token);
}
} else if (kind == OPEN_PAREN_TOKEN) {
return parseParenthesizedExpressionOrFunctionLiteral(token);
@@ -2383,10 +2386,16 @@ class Parser {
} else if (kind == LT_TOKEN) {
return parseLiteralListOrMapOrFunction(token, null);
} else {
- return reportUnrecoverableError(token, ErrorKind.ExpectedExpression);
+ return expressionExpected(token);
}
}
+ Token expressionExpected(Token token) {
+ token = reportUnrecoverableError(token, ErrorKind.ExpectedExpression);
+ listener.handleInvalidExpression(token);
+ return token;
+ }
+
Token parseParenthesizedExpressionOrFunctionLiteral(Token token) {
BeginGroupToken beginGroup = token;
// TODO(eernst): Check for NPE as described in issue 26252.
« no previous file with comments | « pkg/dart_parser/lib/src/listener.dart ('k') | tests/compiler/dart2js/diagnostic_reporter_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698