Index: pkg/compiler/lib/src/resolution/members.dart |
diff --git a/pkg/compiler/lib/src/resolution/members.dart b/pkg/compiler/lib/src/resolution/members.dart |
index 837fb401e856eac7faa3df939601f43bd8be2c8a..4fae13c1eb30e384b5db923b9dbd89d73a4dd3e6 100644 |
--- a/pkg/compiler/lib/src/resolution/members.dart |
+++ b/pkg/compiler/lib/src/resolution/members.dart |
@@ -2318,11 +2318,20 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> { |
// is equivalent to `this.id(a1 , ...)`. |
bool inInitializer = enclosingElement.isGenerativeConstructor || |
(enclosingElement.isInstanceMember && enclosingElement.isField); |
- MessageKind kind = inInitializer |
- ? MessageKind.CANNOT_RESOLVE_IN_INITIALIZER |
- : MessageKind.CANNOT_RESOLVE; |
- element = reportAndCreateErroneousElement(node, node.source, kind, |
- {'name': node.source}, isError: inInitializer); |
+ MessageKind kind; |
+ Map arguments = {'name': name}; |
+ if (inInitializer) { |
+ kind = MessageKind.CANNOT_RESOLVE_IN_INITIALIZER; |
+ } else if (name == 'await') { |
+ kind = MessageKind.CANNOT_RESOLVE_AWAIT; |
Johnni Winther
2015/04/17 18:01:31
Due to localization (if ever needed) we try not to
Siggi Cherem (dart-lang)
2015/04/17 20:58:51
Ah, I see. I went ahead and divided the message in
|
+ arguments['enclosingFunctionText'] = enclosingElement.name == '' |
+ ? 'the enclosing function' |
+ : "'${enclosingElement.name}'"; |
+ } else { |
+ kind = MessageKind.CANNOT_RESOLVE; |
+ } |
+ element = reportAndCreateErroneousElement(node, name, kind, |
+ arguments, isError: inInitializer); |
registry.registerThrowNoSuchMethod(); |
} |
} else if (element.isErroneous) { |