| 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 6425a7ebfb9c4b0af48f8e45f6df0836d6273029..c6f57cea7b1b7bb065b097aada8bc69c5879a607 100644
|
| --- a/pkg/analyzer/lib/src/fasta/ast_builder.dart
|
| +++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart
|
| @@ -1906,6 +1906,18 @@ class AstBuilder extends ScopeListener {
|
| void addCompileTimeError(Message message, int charOffset) {
|
| Code code = message.code;
|
| Map<String, dynamic> arguments = message.arguments;
|
| +
|
| + String stringOrTokenLexeme() {
|
| + var text = arguments['string'];
|
| + if (text == null) {
|
| + Token token = arguments['token'];
|
| + if (token != null) {
|
| + text = token.lexeme;
|
| + }
|
| + }
|
| + return text;
|
| + }
|
| +
|
| switch (code.analyzerCode) {
|
| case "EXPECTED_TYPE_NAME":
|
| errorReporter?.reportErrorForOffset(
|
| @@ -1923,20 +1935,19 @@ class AstBuilder extends ScopeListener {
|
| errorReporter?.reportErrorForOffset(
|
| ParserErrorCode.EXPECTED_STRING_LITERAL, charOffset, 1);
|
| return;
|
| + case "EXTRANEOUS_MODIFIER":
|
| + String text = stringOrTokenLexeme();
|
| + errorReporter?.reportErrorForOffset(ParserErrorCode.EXTRANEOUS_MODIFIER,
|
| + charOffset, text.length, [text]);
|
| + return;
|
| case "UNEXPECTED_TOKEN":
|
| - String text = arguments['string'];
|
| - if (text == null) {
|
| - Token token = arguments['token'];
|
| - if (token != null) {
|
| - text = token.lexeme;
|
| - }
|
| - }
|
| + String text = stringOrTokenLexeme();
|
| if (text == ';') {
|
| errorReporter?.reportErrorForOffset(
|
| ParserErrorCode.EXPECTED_TOKEN, charOffset, text.length, [text]);
|
| } else {
|
| - errorReporter?.reportErrorForOffset(
|
| - ParserErrorCode.UNEXPECTED_TOKEN, charOffset, 1, [text]);
|
| + errorReporter?.reportErrorForOffset(ParserErrorCode.UNEXPECTED_TOKEN,
|
| + charOffset, text.length, [text]);
|
| }
|
| return;
|
| default:
|
|
|