Index: pkg/analyzer/lib/src/fasta/ast_builder.dart |
diff --git a/pkg/analyzer/lib/src/fasta/ast_builder.dart b/pkg/analyzer/lib/src/fasta/ast_builder.dart |
index 7580511ad0e7d1d44dadacb5129acc57205adbaa..80dd6fa415e4b7a3e3f1732b4148ac7759b06e9d 100644 |
--- a/pkg/analyzer/lib/src/fasta/ast_builder.dart |
+++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart |
@@ -1138,6 +1138,7 @@ class AstBuilder extends ScopeListener { |
@override |
void beginCompilationUnit(Token token) { |
+ super.beginCompilationUnit(token); |
push(token); |
} |
@@ -1896,15 +1897,20 @@ class AstBuilder extends ScopeListener { |
ParserErrorCode.EXPECTED_STRING_LITERAL, charOffset, 1); |
return; |
case "UNEXPECTED_TOKEN": |
- var text = arguments['string']; |
+ String text = arguments['string']; |
if (text == null) { |
Token token = arguments['token']; |
if (token != null) { |
text = token.lexeme; |
} |
} |
- errorReporter?.reportErrorForOffset( |
- ParserErrorCode.UNEXPECTED_TOKEN, charOffset, 1, [text]); |
+ if (text == ';') { |
+ errorReporter?.reportErrorForOffset( |
+ ParserErrorCode.EXPECTED_TOKEN, charOffset, text.length, [text]); |
+ } else { |
+ errorReporter?.reportErrorForOffset( |
+ ParserErrorCode.UNEXPECTED_TOKEN, charOffset, 1, [text]); |
+ } |
return; |
default: |
// fall through |