Index: pkg/compiler/lib/src/inferrer/inferrer_visitor.dart |
diff --git a/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart b/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart |
index 5d4623a7b337c2868e58bb6f4819d2d059c74f58..78ef6bb3c3a206fd60075ff8c4c0bda5471e227a 100644 |
--- a/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart |
+++ b/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart |
@@ -705,6 +705,7 @@ abstract class InferrerVisitor<T, E extends MinimalInferrerEngine<T>> |
implements SemanticSendVisitor<T, dynamic> { |
final Compiler compiler; |
final AstElement analyzedElement; |
+ final ResolvedAst resolvedAst; |
final TypeSystem<T> types; |
final E inferrer; |
final Map<JumpTarget, List<LocalsHandler<T>>> breaksFor = |
@@ -713,7 +714,8 @@ abstract class InferrerVisitor<T, E extends MinimalInferrerEngine<T>> |
new Map<JumpTarget, List<LocalsHandler<T>>>(); |
LocalsHandler<T> locals; |
final List<T> cascadeReceiverStack = new List<T>(); |
- final TreeElements elements; |
+ |
+ TreeElements get elements => resolvedAst.elements; |
bool accumulateIsChecks = false; |
bool conditionIsSimple = false; |
@@ -733,12 +735,11 @@ abstract class InferrerVisitor<T, E extends MinimalInferrerEngine<T>> |
} |
} |
- InferrerVisitor( |
- AstElement analyzedElement, this.inferrer, this.types, this.compiler, |
+ InferrerVisitor(AstElement analyzedElement, this.resolvedAst, this.inferrer, |
+ this.types, this.compiler, |
[LocalsHandler<T> handler]) |
: this.analyzedElement = analyzedElement, |
- this.locals = handler, |
- this.elements = analyzedElement.resolvedAst.elements { |
+ this.locals = handler { |
if (handler != null) return; |
Node node = analyzedElement.node; |
FieldInitializationScope<T> fieldScope = |