Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java |
diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java |
index ccb10f820e42922f23cd8cda00c6105b24819eed..df3bec7914d3b1c86c75313f3b8542f032fe9e34 100644 |
--- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java |
+++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java |
@@ -20,6 +20,7 @@ import com.google.dart.engine.ast.FunctionDeclaration; |
import com.google.dart.engine.ast.FunctionExpression; |
import com.google.dart.engine.ast.ImportDirective; |
import com.google.dart.engine.ast.Label; |
+import com.google.dart.engine.ast.MethodDeclaration; |
import com.google.dart.engine.ast.MethodInvocation; |
import com.google.dart.engine.ast.PrefixedIdentifier; |
import com.google.dart.engine.ast.PropertyAccess; |
@@ -123,6 +124,17 @@ public class VariableResolverVisitor extends ScopedVisitor { |
} |
@Override |
+ public Void visitMethodDeclaration(MethodDeclaration node) { |
+ ExecutableElement outerFunction = enclosingFunction; |
+ try { |
+ enclosingFunction = node.getElement(); |
+ return super.visitMethodDeclaration(node); |
+ } finally { |
+ enclosingFunction = outerFunction; |
+ } |
+ } |
+ |
+ @Override |
public Void visitSimpleIdentifier(SimpleIdentifier node) { |
// Ignore if already resolved - declaration or type. |
if (node.getStaticElement() != null) { |