| Index: dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart
|
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart b/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart
|
| index ab20f515cf11ca9c92146a1008fa45bd29b130b0..314e8d735a912df3750114e4b6e9d5c4ddcf5107 100644
|
| --- a/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart
|
| +++ b/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart
|
| @@ -595,6 +595,22 @@ class Listener {
|
| void error(String message, Token token) {
|
| throw new ParserError("$message @ ${token.charOffset}");
|
| }
|
| +
|
| + void reportError(Spannable spannable,
|
| + MessageKind errorCode,
|
| + [Map arguments = const {}]) {
|
| + String message = errorCode.error(arguments, true).toString();
|
| + Token token;
|
| + Node node;
|
| + if (spannable is Token) {
|
| + token = spannable;
|
| + } else if (spannable is Node) {
|
| + node = spannable;
|
| + } else {
|
| + throw new ParserError(message);
|
| + }
|
| + recoverableError(message, token: token, node: node);
|
| + }
|
| }
|
|
|
| class ParserError {
|
| @@ -1122,6 +1138,12 @@ class ElementListener extends Listener {
|
| }
|
| pushNode(accumulator);
|
| }
|
| +
|
| + void reportError(Spannable spannable,
|
| + MessageKind errorCode,
|
| + [Map arguments = const {}]) {
|
| + listener.reportError(spannable, errorCode, arguments);
|
| + }
|
| }
|
|
|
| class NodeListener extends ElementListener {
|
|
|