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

Unified Diff: pkg/compiler/lib/src/parser/element_listener.dart

Issue 2652203002: Make all dart2js language tests pass. (Closed)
Patch Set: 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/parser/element_listener.dart
diff --git a/pkg/compiler/lib/src/parser/element_listener.dart b/pkg/compiler/lib/src/parser/element_listener.dart
index d3f55ce19835486b762760bda384e961f917342b..10fd6980d01f91b6627acbcadc00f64121ced301 100644
--- a/pkg/compiler/lib/src/parser/element_listener.dart
+++ b/pkg/compiler/lib/src/parser/element_listener.dart
@@ -509,10 +509,11 @@ class ElementListener extends Listener {
}
return token;
} else {
- return reportFatalError(
+ reportFatalError(
reporter.spanFromToken(token),
MessageTemplate.TEMPLATES[MessageKind.MISSING_TOKEN_BEFORE_THIS]
.message({'token': expected}, true).toString());
+ return null;
}
break;
@@ -546,7 +547,8 @@ class ElementListener extends Listener {
if (token.info == Precedence.BAD_INPUT_INFO) {
message = token.value;
}
- return reportFatalError(reporter.spanFromToken(token), message);
+ reportFatalError(reporter.spanFromToken(token), message);
+ return null;
case ErrorKind.ExpectedBlockToSkip:
if (optional("native", token)) {
@@ -569,14 +571,16 @@ class ElementListener extends Listener {
case ErrorKind.ExpectedClassBodyToSkip:
case ErrorKind.ExpectedClassBody:
- return reportFatalError(
+ reportFatalError(
reporter.spanFromToken(token),
"Expected a class body, but got '${token.value}'.");
+ return null;
case ErrorKind.ExpectedDeclaration:
- return reportFatalError(
+ reportFatalError(
reporter.spanFromToken(token),
"Expected a declaration, but got '${token.value}'.");
+ return null;
case ErrorKind.UnmatchedToken:
reportErrorFromToken(token, MessageKind.UNMATCHED_TOKEN, arguments);
@@ -886,9 +890,10 @@ class ElementListener extends Listener {
/// Don't call this method. Should only be used as a last resort when there
/// is no feasible way to recover from a parser error.
- Token reportFatalError(SourceSpan span, String message) {
- reportError(span, MessageKind.GENERIC, {'text': message});
+ void reportFatalError(Spannable spannable, String message) {
ahe 2017/01/25 10:35:09 Restoring previous API. One has to be careful wit
+ reportError(spannable, MessageKind.GENERIC, {'text': message});
// Some parse errors are infeasible to recover from, so we throw an error.
+ SourceSpan span = reporter.spanFromSpannable(spannable);
throw new ParserError(
span.begin, span.end, ErrorKind.Unspecified, {'text': message});
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698