| 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) {
|
|
|