| 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:js_runtime/shared/embedded_names.dart'; | 5 import 'package:js_runtime/shared/embedded_names.dart'; |
| 6 import 'package:kernel/ast.dart' as ir; | 6 import 'package:kernel/ast.dart' as ir; |
| 7 | 7 |
| 8 import '../closure.dart'; | 8 import '../closure.dart'; |
| 9 import '../common.dart'; | 9 import '../common.dart'; |
| 10 import '../compiler.dart'; | 10 import '../compiler.dart'; |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 assert(target != null); | 119 assert(target != null); |
| 120 return target; | 120 return target; |
| 121 } | 121 } |
| 122 | 122 |
| 123 @override | 123 @override |
| 124 CommonElements get commonElements => _compiler.commonElements; | 124 CommonElements get commonElements => _compiler.commonElements; |
| 125 | 125 |
| 126 @override | 126 @override |
| 127 ElementEnvironment get elementEnvironment => _compiler.elementEnvironment; | 127 ElementEnvironment get elementEnvironment => _compiler.elementEnvironment; |
| 128 | 128 |
| 129 MemberElement get currentMember => _resolvedAst.element; |
| 130 |
| 129 /// Push the existing resolved AST on the stack and shift the current resolved | 131 /// Push the existing resolved AST on the stack and shift the current resolved |
| 130 /// AST to the AST that this kernel node points to. | 132 /// AST to the AST that this kernel node points to. |
| 131 void enterInlinedMember(MemberElement member) { | 133 void enterInlinedMember(MemberElement member) { |
| 132 _resolvedAstStack.add(_resolvedAst); | 134 _resolvedAstStack.add(_resolvedAst); |
| 133 _resolvedAst = member.resolvedAst; | 135 _resolvedAst = member.resolvedAst; |
| 134 } | 136 } |
| 135 | 137 |
| 136 /// Pop the resolved AST stack to reset it to the previous resolved AST node. | 138 /// Pop the resolved AST stack to reset it to the previous resolved AST node. |
| 137 void leaveInlinedMember(MemberElement member) { | 139 void leaveInlinedMember(MemberElement member) { |
| 138 assert(_resolvedAstStack.isNotEmpty); | 140 assert(_resolvedAstStack.isNotEmpty); |
| 139 assert(_resolvedAst.element == member); | 141 assert(_resolvedAst.element == member); |
| 140 _resolvedAst = _resolvedAstStack.removeLast(); | 142 _resolvedAst = _resolvedAstStack.removeLast(); |
| 141 } | 143 } |
| 142 | 144 |
| 143 void assertAtResolvedAstFor(ir.Node node) { | |
| 144 assert(invariant(getElement(node), | |
| 145 _resolvedAst.element == getElement(node).declaration)); | |
| 146 } | |
| 147 | |
| 148 Compiler get _compiler => _backend.compiler; | 145 Compiler get _compiler => _backend.compiler; |
| 149 TreeElements get elements => _resolvedAst.elements; | 146 TreeElements get elements => _resolvedAst.elements; |
| 150 DiagnosticReporter get reporter => _compiler.reporter; | 147 DiagnosticReporter get reporter => _compiler.reporter; |
| 151 | 148 |
| 152 ConstantValue getConstantForSymbol(ir.SymbolLiteral node) { | 149 ConstantValue getConstantForSymbol(ir.SymbolLiteral node) { |
| 153 if (kernel.syntheticNodes.contains(node)) { | 150 if (kernel.syntheticNodes.contains(node)) { |
| 154 return _backend.constantSystem | 151 return _backend.constantSystem |
| 155 .createSymbol(_compiler.commonElements, node.value); | 152 .createSymbol(_compiler.commonElements, node.value); |
| 156 } | 153 } |
| 157 ast.Node astNode = getNode(node); | 154 ast.Node astNode = getNode(node); |
| (...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 670 TypeMask selectorTypeOf(Selector selector, TypeMask mask) { | 667 TypeMask selectorTypeOf(Selector selector, TypeMask mask) { |
| 671 return TypeMaskFactory.inferredTypeForSelector( | 668 return TypeMaskFactory.inferredTypeForSelector( |
| 672 selector, mask, _globalInferenceResults); | 669 selector, mask, _globalInferenceResults); |
| 673 } | 670 } |
| 674 | 671 |
| 675 TypeMask typeFromNativeBehavior( | 672 TypeMask typeFromNativeBehavior( |
| 676 native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) { | 673 native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) { |
| 677 return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld); | 674 return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld); |
| 678 } | 675 } |
| 679 } | 676 } |
| OLD | NEW |