| Index: compiler/java/com/google/dart/compiler/resolver/MethodElementImplementation.java
|
| diff --git a/compiler/java/com/google/dart/compiler/resolver/MethodElementImplementation.java b/compiler/java/com/google/dart/compiler/resolver/MethodElementImplementation.java
|
| index 8f24eeaf4dce8f0df9cc967c628eec8e0cb351d2..12bac353d2e1310af850d87e6642f6e79d1b4565 100644
|
| --- a/compiler/java/com/google/dart/compiler/resolver/MethodElementImplementation.java
|
| +++ b/compiler/java/com/google/dart/compiler/resolver/MethodElementImplementation.java
|
| @@ -10,6 +10,7 @@ import com.google.dart.compiler.ast.DartBlock;
|
| import com.google.dart.compiler.ast.DartClass;
|
| import com.google.dart.compiler.ast.DartFunctionExpression;
|
| import com.google.dart.compiler.ast.DartIdentifier;
|
| +import com.google.dart.compiler.ast.DartMetadata;
|
| import com.google.dart.compiler.ast.DartMethodDefinition;
|
| import com.google.dart.compiler.ast.DartNativeBlock;
|
| import com.google.dart.compiler.ast.DartNode;
|
| @@ -24,6 +25,7 @@ import java.util.List;
|
| import java.util.Set;
|
|
|
| class MethodElementImplementation extends AbstractNodeElement implements MethodNodeElement {
|
| + private final DartMetadata metadata;
|
| private final Modifiers modifiers;
|
| private final EnclosingElement holder;
|
| private final ElementKind kind;
|
| @@ -37,8 +39,9 @@ class MethodElementImplementation extends AbstractNodeElement implements MethodN
|
| @VisibleForTesting
|
| MethodElementImplementation(DartFunctionExpression node, String name, Modifiers modifiers) {
|
| super(node, name);
|
| - this.hasBody = true;
|
| + this.metadata = DartMetadata.EMPTY;
|
| this.modifiers = modifiers;
|
| + this.hasBody = true;
|
| this.holder = findParentEnclosingElement(node);
|
| this.kind = ElementKind.FUNCTION_OBJECT;
|
| if (node != null && node.getName() != null) {
|
| @@ -52,11 +55,13 @@ class MethodElementImplementation extends AbstractNodeElement implements MethodN
|
| EnclosingElement holder) {
|
| super(node, name);
|
| if (node != null) {
|
| + this.metadata = node.getMetadata();
|
| this.modifiers = node.getModifiers();
|
| this.nameLocation = node.getName().getSourceInfo();
|
| DartBlock body = node.getFunction().getBody();
|
| this.hasBody = body != null && !(body instanceof DartNativeBlock);
|
| } else {
|
| + this.metadata = DartMetadata.EMPTY;
|
| this.modifiers = Modifiers.NONE;
|
| this.nameLocation = SourceInfo.UNKNOWN;
|
| this.hasBody = false;
|
| @@ -66,6 +71,11 @@ class MethodElementImplementation extends AbstractNodeElement implements MethodN
|
| }
|
|
|
| @Override
|
| + public DartMetadata getMetadata() {
|
| + return metadata;
|
| + }
|
| +
|
| + @Override
|
| public Modifiers getModifiers() {
|
| return modifiers;
|
| }
|
|
|