| Index: pkg/compiler/lib/src/scanner/listener.dart
|
| diff --git a/pkg/compiler/lib/src/scanner/listener.dart b/pkg/compiler/lib/src/scanner/listener.dart
|
| index 9df843cf7002ad57656119d7367c3f70a1cd9e5b..c3299a3c5eed23f18200e199e261c94cf84b49ea 100644
|
| --- a/pkg/compiler/lib/src/scanner/listener.dart
|
| +++ b/pkg/compiler/lib/src/scanner/listener.dart
|
| @@ -2566,12 +2566,17 @@ class PartialMetadataAnnotation extends MetadataAnnotationX
|
|
|
| Node parseNode(DiagnosticListener listener) {
|
| if (cachedNode != null) return cachedNode;
|
| - Metadata metadata = parse(listener,
|
| - annotatedElement,
|
| - declarationSite,
|
| - (p) => p.parseMetadata(beginToken));
|
| - cachedNode = metadata.expression;
|
| - return cachedNode;
|
| + var metadata = parse(listener,
|
| + annotatedElement,
|
| + declarationSite,
|
| + (p) => p.parseMetadata(beginToken));
|
| + if (metadata is Metadata) {
|
| + cachedNode = metadata.expression;
|
| + return cachedNode;
|
| + } else {
|
| + assert (metadata is ErrorNode);
|
| + return metadata;
|
| + }
|
| }
|
|
|
| bool get hasNode => cachedNode != null;
|
|
|