Index: pkg/compiler/lib/src/closure.dart |
diff --git a/pkg/compiler/lib/src/closure.dart b/pkg/compiler/lib/src/closure.dart |
index 5611c40773068cd12b9d6c64556f793164f7c80d..531dfceb866beb8b29a17d00820411c4f32b17d5 100644 |
--- a/pkg/compiler/lib/src/closure.dart |
+++ b/pkg/compiler/lib/src/closure.dart |
@@ -150,7 +150,8 @@ class ClosureFieldElement extends ElementX |
MemberElement get memberContext => closureClass.methodElement.memberContext; |
@override |
- Entity get declaredEntity => local; |
+ Local get declaredEntity => local; |
+ |
@override |
Entity get rootOfScope => closureClass; |
@@ -292,6 +293,7 @@ class BoxLocal extends Local { |
// find a more general solution. |
class BoxFieldElement extends ElementX |
implements TypedElement, FieldElement, PrivatelyNamedJSEntity { |
+ final LocalVariableElement variableElement; |
final BoxLocal box; |
BoxFieldElement(String name, this.variableElement, BoxLocal box) |
@@ -303,12 +305,11 @@ class BoxFieldElement extends ElementX |
ResolutionDartType get type => variableElement.type; |
@override |
- Entity get declaredEntity => variableElement; |
+ Local get declaredEntity => variableElement; |
+ |
@override |
Entity get rootOfScope => box; |
- final VariableElement variableElement; |
- |
accept(ElementVisitor visitor, arg) { |
return visitor.visitBoxFieldElement(this, arg); |
} |
@@ -1243,8 +1244,8 @@ class TypeVariableLocal implements Local { |
/// |
/// Move the below classes to a JS model eventually. |
/// |
-abstract class JSEntity implements Entity { |
- Entity get declaredEntity; |
+abstract class JSEntity implements MemberEntity { |
+ Local get declaredEntity; |
} |
abstract class PrivatelyNamedJSEntity implements JSEntity { |