| 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 0c545cf6d4655928f986757c6d307bf0bbc89015..1c08bf99cdb110e59ba461e898def6c12bf50aed 100644
|
| --- a/pkg/analyzer/lib/src/fasta/ast_builder.dart
|
| +++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart
|
| @@ -1143,7 +1143,7 @@ class AstBuilder extends ScopeListener {
|
| declarations.add(node);
|
| } else {
|
| unhandled(
|
| - "${node.runtimeType}", "compilation unit", node.offset, uri);
|
| + "${node.runtimeType}", "compilation unit", node?.offset, uri);
|
| }
|
| }
|
| }
|
| @@ -1866,11 +1866,27 @@ class AstBuilder extends ScopeListener {
|
| @override
|
| void addCompileTimeError(Message message, int charOffset) {
|
| Code code = message.code;
|
| + Map<String, dynamic> arguments = message.arguments;
|
| switch (code.analyzerCode) {
|
| case "EXPECTED_TYPE_NAME":
|
| errorReporter?.reportErrorForOffset(
|
| ParserErrorCode.EXPECTED_TYPE_NAME, charOffset, 1);
|
| return;
|
| + case "EXPECTED_STRING_LITERAL":
|
| + errorReporter?.reportErrorForOffset(
|
| + ParserErrorCode.EXPECTED_STRING_LITERAL, charOffset, 1);
|
| + return;
|
| + case "UNEXPECTED_TOKEN":
|
| + var text = arguments['string'];
|
| + if (text == null) {
|
| + Token token = arguments['token'];
|
| + if (token != null) {
|
| + text = token.lexeme;
|
| + }
|
| + }
|
| + errorReporter?.reportErrorForOffset(
|
| + ParserErrorCode.UNEXPECTED_TOKEN, charOffset, 1, [text]);
|
| + return;
|
| default:
|
| // fall through
|
| }
|
|
|