| Index: dart/frog/leg/scanner/listener.dart
|
| diff --git a/dart/frog/leg/scanner/listener.dart b/dart/frog/leg/scanner/listener.dart
|
| index f6a320237aef78f6ff375bd791009cc3383d0398..1c4559c111fc65c3fa2cea8836912ec217095871 100644
|
| --- a/dart/frog/leg/scanner/listener.dart
|
| +++ b/dart/frog/leg/scanner/listener.dart
|
| @@ -387,22 +387,34 @@ class Listener {
|
|
|
| Token expected(String string, Token token) {
|
| error("Expected '$string', but got '$token'", token);
|
| + return skipToEof(token);
|
| }
|
|
|
| void expectedIdentifier(Token token) {
|
| error("Expected identifier, but got '$token'", token);
|
| + return skipToEof(token);
|
| }
|
|
|
| Token expectedType(Token token) {
|
| error("Expected a type, but got '$token'", token);
|
| + return skipToEof(token);
|
| }
|
|
|
| Token expectedBlock(Token token) {
|
| error("Expected a block, but got '$token'", token);
|
| + return skipToEof(token);
|
| }
|
|
|
| Token unexpected(Token token) {
|
| error("Unexpected token '$token'", token);
|
| + return skipToEof(token);
|
| + }
|
| +
|
| + skipToEof(Token token) {
|
| + while (token.info !== EOF_INFO) {
|
| + token = token.next;
|
| + }
|
| + return token;
|
| }
|
|
|
| void recoverableError(String message, [Token token, Node node]) {
|
| @@ -566,22 +578,27 @@ class ElementListener extends Listener {
|
|
|
| Token expected(String string, Token token) {
|
| canceler.cancel("Expected '$string', but got '$token'", token: token);
|
| + return skipToEof(token);
|
| }
|
|
|
| void expectedIdentifier(Token token) {
|
| canceler.cancel("Expected identifier, but got '$token'", token: token);
|
| + return skipToEof(token);
|
| }
|
|
|
| Token expectedType(Token token) {
|
| canceler.cancel("Expected a type, but got '$token'", token: token);
|
| + return skipToEof(token);
|
| }
|
|
|
| Token expectedBlock(Token token) {
|
| canceler.cancel("Expected a block, but got '$token'", token: token);
|
| + return skipToEof(token);
|
| }
|
|
|
| Token unexpected(Token token) {
|
| canceler.cancel("Unexpected token '$token'", token: token);
|
| + return skipToEof(token);
|
| }
|
|
|
| void recoverableError(String message, [Token token, Node node]) {
|
|
|