| 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 ae3453b7986bf1095902d3ae0a50fcf8c2f1d4ca..1ea230bb9d347b4e7bc2c5047b893d4c661de69e 100644
|
| --- a/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart
|
| +++ b/dart/sdk/lib/_internal/compiler/implementation/scanner/listener.dart
|
| @@ -1888,11 +1888,18 @@ class PartialMetadataAnnotation extends MetadataAnnotation {
|
|
|
| PartialMetadataAnnotation(this.beginToken);
|
|
|
| - Node parseNode(DiagnosticListener listener) {
|
| + Node parseNode(DiagnosticListener diagnosticListener) {
|
| if (cachedNode != null) return cachedNode;
|
| - cachedNode = parse(listener,
|
| - annotatedElement.getCompilationUnit(),
|
| - (p) => p.parseSend(beginToken.next));
|
| + NodeListener listener =
|
| + new NodeListener(diagnosticListener,
|
| + annotatedElement.getCompilationUnit());
|
| + new Parser(listener).parseSend(beginToken.next);
|
| + Send send = listener.popNode();
|
| + if (send.argumentsNode != null) {
|
| + cachedNode = new NewExpression(beginToken, send);
|
| + } else {
|
| + cachedNode = send;
|
| + }
|
| return cachedNode;
|
| }
|
| }
|
|
|