Index: pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart |
diff --git a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart |
index 71f6b549506b5da5d671887ea0bcbc6e9d3603f1..e581bca94c054fea09306e54be2ba30d14843cd6 100644 |
--- a/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart |
+++ b/pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart |
@@ -63,9 +63,11 @@ class KernelAstAdapter { |
Compiler get _compiler => _backend.compiler; |
TreeElements get elements => _resolvedAst.elements; |
- GlobalTypeInferenceResults get _inferenceResults => |
- _compiler.globalInference.results; |
DiagnosticReporter get reporter => _compiler.reporter; |
+ Element get _target => _resolvedAst.element; |
+ |
+ GlobalTypeInferenceElementResult _resultOf(Element e) => |
+ _compiler.globalInference.results.resultOf(e); |
ConstantValue getConstantForSymbol(ir.SymbolLiteral node) { |
ast.Node astNode = getNode(node); |
@@ -156,35 +158,33 @@ class KernelAstAdapter { |
} |
TypeMask typeOfInvocation(ir.Expression send) { |
- return _inferenceResults.typeOfSend(getNode(send), elements); |
+ return _resultOf(_target).typeOfSend(getNode(send)); |
} |
TypeMask typeOfGet(ir.PropertyGet getter) { |
- return _inferenceResults.typeOfSend(getNode(getter), elements); |
+ return _resultOf(_target).typeOfSend(getNode(getter)); |
} |
TypeMask typeOfSend(ir.Expression send) { |
assert(send is ir.InvocationExpression || send is ir.PropertyGet); |
- return _inferenceResults.typeOfSend(getNode(send), elements); |
+ return _resultOf(_target).typeOfSend(getNode(send)); |
} |
TypeMask typeOfNewList(Element owner, ir.ListLiteral listLiteral) { |
- return _inferenceResults.typeOfNewList(owner, getNode(listLiteral)) ?? |
+ return _resultOf(owner).typeOfNewList(getNode(listLiteral)) ?? |
_compiler.commonMasks.dynamicType; |
} |
TypeMask typeOfIterator(ir.ForInStatement forInStatement) { |
- return _inferenceResults.typeOfIterator(getNode(forInStatement), elements); |
+ return _resultOf(_target).typeOfIterator(getNode(forInStatement)); |
} |
TypeMask typeOfIteratorCurrent(ir.ForInStatement forInStatement) { |
- return _inferenceResults.typeOfIteratorCurrent( |
- getNode(forInStatement), elements); |
+ return _resultOf(_target).typeOfIteratorCurrent(getNode(forInStatement)); |
} |
TypeMask typeOfIteratorMoveNext(ir.ForInStatement forInStatement) { |
- return _inferenceResults.typeOfIteratorMoveNext( |
- getNode(forInStatement), elements); |
+ return _resultOf(_target).typeOfIteratorMoveNext(getNode(forInStatement)); |
} |
bool isJsIndexableIterator(ir.ForInStatement forInStatement) { |