| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'package:kernel/ast.dart' as ir; | 5 import 'package:kernel/ast.dart' as ir; |
| 6 | 6 |
| 7 import '../closure.dart'; | 7 import '../closure.dart'; |
| 8 import '../common.dart'; | 8 import '../common.dart'; |
| 9 import '../compiler.dart'; | 9 import '../compiler.dart'; |
| 10 import '../constants/expressions.dart'; | 10 import '../constants/expressions.dart'; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 /// Sometimes for resolution the resolved AST element needs to change (for | 56 /// Sometimes for resolution the resolved AST element needs to change (for |
| 57 /// example, if we're inlining, or if we're in a constructor, but then also | 57 /// example, if we're inlining, or if we're in a constructor, but then also |
| 58 /// constructing the field values). We keep track of this with a stack. | 58 /// constructing the field values). We keep track of this with a stack. |
| 59 final List<ResolvedAst> _resolvedAstStack = <ResolvedAst>[]; | 59 final List<ResolvedAst> _resolvedAstStack = <ResolvedAst>[]; |
| 60 | 60 |
| 61 final native.BehaviorBuilder nativeBehaviorBuilder; | 61 final native.BehaviorBuilder nativeBehaviorBuilder; |
| 62 | 62 |
| 63 KernelAstAdapter(this.kernel, this._backend, this._resolvedAst, | 63 KernelAstAdapter(this.kernel, this._backend, this._resolvedAst, |
| 64 this._nodeToAst, this._nodeToElement) | 64 this._nodeToAst, this._nodeToElement) |
| 65 : nativeBehaviorBuilder = new native.ResolverBehaviorBuilder( | 65 : nativeBehaviorBuilder = new native.ResolverBehaviorBuilder( |
| 66 _backend.compiler, _backend.nativeBasicData) { | 66 _backend.compiler, _backend.frontendStrategy.nativeBasicData) { |
| 67 KernelJumpTarget.index = 0; | 67 KernelJumpTarget.index = 0; |
| 68 // TODO(het): Maybe just use all of the kernel maps directly? | 68 // TODO(het): Maybe just use all of the kernel maps directly? |
| 69 for (FieldElement fieldElement in kernel.fields.keys) { | 69 for (FieldElement fieldElement in kernel.fields.keys) { |
| 70 _nodeToElement[kernel.fields[fieldElement]] = fieldElement; | 70 _nodeToElement[kernel.fields[fieldElement]] = fieldElement; |
| 71 } | 71 } |
| 72 for (FunctionElement functionElement in kernel.functions.keys) { | 72 for (FunctionElement functionElement in kernel.functions.keys) { |
| 73 _nodeToElement[kernel.functions[functionElement]] = functionElement; | 73 _nodeToElement[kernel.functions[functionElement]] = functionElement; |
| 74 } | 74 } |
| 75 for (ClassElement classElement in kernel.classes.keys) { | 75 for (ClassElement classElement in kernel.classes.keys) { |
| 76 _nodeToElement[kernel.classes[classElement]] = classElement; | 76 _nodeToElement[kernel.classes[classElement]] = classElement; |
| (...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 680 TypeMask selectorTypeOf(Selector selector, TypeMask mask) { | 680 TypeMask selectorTypeOf(Selector selector, TypeMask mask) { |
| 681 return TypeMaskFactory.inferredTypeForSelector( | 681 return TypeMaskFactory.inferredTypeForSelector( |
| 682 selector, mask, _globalInferenceResults); | 682 selector, mask, _globalInferenceResults); |
| 683 } | 683 } |
| 684 | 684 |
| 685 TypeMask typeFromNativeBehavior( | 685 TypeMask typeFromNativeBehavior( |
| 686 native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) { | 686 native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) { |
| 687 return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld); | 687 return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld); |
| 688 } | 688 } |
| 689 } | 689 } |
| OLD | NEW |