Index: pkg/compiler/lib/src/ssa/builder.dart |
diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart |
index 1a754fd18f29628daabe4c52d8651e26dd3bbd0d..34bedab0fcea9eb9770874c4dd4b57d6879de3c2 100644 |
--- a/pkg/compiler/lib/src/ssa/builder.dart |
+++ b/pkg/compiler/lib/src/ssa/builder.dart |
@@ -328,7 +328,7 @@ class LocalsHandler { |
assert(invariant(element, element.isImplementation)); |
Compiler compiler = builder.compiler; |
closureData = compiler.closureToClassMapper.computeClosureToClassMapping( |
- compiler.backend.frontend.getResolvedAst(element.declaration)); |
+ element.resolvedAst); |
if (element is FunctionElement) { |
FunctionElement functionElement = element; |
@@ -1383,7 +1383,7 @@ class SsaBuilder extends ast.Visitor |
if (compiler.elementHasCompileTimeError(element)) return false; |
FunctionElement function = element; |
- ResolvedAst functionResolvedAst = backend.frontend.getResolvedAst(function); |
+ ResolvedAst functionResolvedAst = function.resolvedAst; |
bool insideLoop = loopNesting > 0 || graph.calledInLoop; |
// Bail out early if the inlining decision is in the cache and we can't |
@@ -1847,8 +1847,7 @@ class SsaBuilder extends ast.Visitor |
void setupStateForInlining( |
FunctionElement function, List<HInstruction> compiledArguments, |
{InterfaceType instanceType}) { |
- ResolvedAst resolvedAst = |
- compiler.backend.frontend.getResolvedAst(function.declaration); |
+ ResolvedAst resolvedAst = function.resolvedAst; |
assert(resolvedAst != null); |
localsHandler = new LocalsHandler(this, function, instanceType); |
localsHandler.closureData = |
@@ -2024,7 +2023,7 @@ class SsaBuilder extends ast.Visitor |
// Build the initializers in the context of the new constructor. |
ResolvedAst oldResolvedAst = resolvedAst; |
- resolvedAst = backend.frontend.getResolvedAst(callee); |
+ resolvedAst = callee.resolvedAst; |
ClosureClassMap oldClosureData = localsHandler.closureData; |
ClosureClassMap newClosureData = compiler.closureToClassMapper |
.computeClosureToClassMapping(resolvedAst); |
@@ -2065,7 +2064,7 @@ class SsaBuilder extends ast.Visitor |
return localsHandler.readLocal(parameter); |
} |
- Element target = constructor.definingConstructor.implementation; |
+ ConstructorElement target = constructor.definingConstructor.implementation; |
bool match = !target.isMalformed && |
CallStructure.addForwardingElementArgumentsToList( |
constructor, |
@@ -2084,7 +2083,7 @@ class SsaBuilder extends ast.Visitor |
reporter.internalError( |
constructor, 'forwarding constructor call does not match'); |
} |
- inlineSuperOrRedirect(backend.frontend.getResolvedAst(target), arguments, |
+ inlineSuperOrRedirect(target.resolvedAst, arguments, |
constructorResolvedAsts, fieldValues, constructor); |
} |
@@ -2132,7 +2131,7 @@ class SsaBuilder extends ast.Visitor |
makeStaticArgumentList(callStructure, arguments, target); |
}); |
inlineSuperOrRedirect( |
- backend.frontend.getResolvedAst(target.declaration), |
+ target.resolvedAst, |
compiledArguments, |
constructorResolvedAsts, |
fieldValues, |
@@ -2170,7 +2169,7 @@ class SsaBuilder extends ast.Visitor |
null, |
handleConstantForOptionalParameter); |
inlineSuperOrRedirect( |
- backend.frontend.getResolvedAst(target.declaration), |
+ target.resolvedAst, |
arguments, |
constructorResolvedAsts, |
fieldValues, |
@@ -2192,7 +2191,7 @@ class SsaBuilder extends ast.Visitor |
(ClassElement enclosingClass, FieldElement member) { |
if (compiler.elementHasCompileTimeError(member)) return; |
reporter.withCurrentElement(member, () { |
- ResolvedAst fieldResolvedAst = backend.frontend.getResolvedAst(member); |
+ ResolvedAst fieldResolvedAst = member.resolvedAst; |
ast.Node node = fieldResolvedAst.node; |
ast.Expression initializer = fieldResolvedAst.body; |
if (initializer == null) { |