Index: pkg/compiler/lib/src/parser/element_listener.dart |
diff --git a/pkg/compiler/lib/src/parser/element_listener.dart b/pkg/compiler/lib/src/parser/element_listener.dart |
index 55e7e25605c0112dab0d4ad989b8c4ea96e028b5..181499da733a8e775c043b9006890643703f7675 100644 |
--- a/pkg/compiler/lib/src/parser/element_listener.dart |
+++ b/pkg/compiler/lib/src/parser/element_listener.dart |
@@ -741,6 +741,78 @@ class ElementListener extends Listener { |
errorCode = MessageKind.GENERIC; |
arguments = {"text": "Can't use '${token.lexeme}' as a name here."}; |
break; |
+ |
+ case ErrorKind.AbstractNotSync: |
+ errorCode = MessageKind.GENERIC; |
+ arguments = { |
+ "text": "Abstract methods can't use 'async', 'async*', or 'sync*'." |
+ }; |
+ return; // Ignored. This error is already implemented elsewhere. |
+ |
+ case ErrorKind.SetterNotSync: |
+ errorCode = MessageKind.GENERIC; |
+ arguments = { |
+ "text": "Setters can't use 'async', 'async*', or 'sync*'." |
+ }; |
+ return; // Ignored. This error is already implemented elsewhere. |
+ |
+ case ErrorKind.FactoryNotSync: |
+ errorCode = MessageKind.GENERIC; |
+ arguments = { |
+ "text": "Factories can't use 'async', 'async*', or 'sync*'." |
+ }; |
+ return; // Ignored. This error is already implemented elsewhere. |
+ |
+ case ErrorKind.AwaitForNotAsync: |
+ errorCode = MessageKind.GENERIC; |
+ arguments = { |
+ "text": "Asynchronous for-loop can only be used " |
+ "in 'async' or 'async*' methods." |
+ }; |
+ return; // Ignored. This error is already implemented elsewhere. |
+ |
+ case ErrorKind.AsyncAsIdentifier: |
+ errorCode = MessageKind.GENERIC; |
+ arguments = { |
+ "text": "'async' can't be used as an identifier in " |
+ "'async', 'async*', or 'sync*' methods." |
+ }; |
+ break; |
+ |
+ case ErrorKind.YieldNotGenerator: |
+ errorCode = MessageKind.GENERIC; |
+ arguments = { |
+ "text": "'yield' can only be used in 'sync*' or 'async*' methods." |
+ }; |
+ return; // Ignored. This error is already implemented elsewhere. |
+ |
+ case ErrorKind.YieldAsIdentifier: |
+ errorCode = MessageKind.GENERIC; |
+ arguments = { |
+ "text": "'yield' can't be used as an identifier in " |
+ "'async', 'async*', or 'sync*' methods." |
+ }; |
+ return; // Ignored. This error is already implemented elsewhere. |
+ |
+ case ErrorKind.GeneratorReturnsValue: |
+ errorCode = MessageKind.GENERIC; |
+ arguments = {"text": "'sync*' and 'async*' can't return a value."}; |
+ return; // Ignored. This error is already implemented elsewhere. |
+ |
+ case ErrorKind.AwaitNotAsync: |
+ errorCode = MessageKind.GENERIC; |
+ arguments = { |
+ "text": "'await' can only be used in 'async' or 'async*' methods." |
+ }; |
+ return; // Ignored. This error is already implemented elsewhere. |
+ |
+ case ErrorKind.AwaitAsIdentifier: |
+ errorCode = MessageKind.GENERIC; |
+ arguments = { |
+ "text": "'await' can't be used as an identifier in " |
+ "'async', 'async*', or 'sync*' methods." |
+ }; |
+ return; // Ignored. This error is already implemented elsewhere. |
} |
SourceSpan span = reporter.spanFromToken(token); |
reportError(span, errorCode, arguments); |