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 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 Element getElement(ir.Node node) { | 172 Element getElement(ir.Node node) { |
173 Element result = _nodeToElement[node]; | 173 Element result = _nodeToElement[node]; |
174 assert(invariant(CURRENT_ELEMENT_SPANNABLE, result != null, | 174 assert(invariant(CURRENT_ELEMENT_SPANNABLE, result != null, |
175 message: "No element found for $node.")); | 175 message: "No element found for $node.")); |
176 return result; | 176 return result; |
177 } | 177 } |
178 | 178 |
179 ConstructorElement getConstructor(ir.Member node) => | 179 ConstructorElement getConstructor(ir.Member node) => |
180 getElement(node).declaration; | 180 getElement(node).declaration; |
181 | 181 |
| 182 @override |
| 183 ConstructorEntity getSuperConstructor( |
| 184 ir.Constructor constructor, ir.Member target) { |
| 185 return getConstructor(target); |
| 186 } |
| 187 |
182 MemberElement getMember(ir.Member node) => getElement(node).declaration; | 188 MemberElement getMember(ir.Member node) => getElement(node).declaration; |
183 | 189 |
184 MethodElement getMethod(ir.Procedure node) => getElement(node).declaration; | 190 MethodElement getMethod(ir.Procedure node) => getElement(node).declaration; |
185 | 191 |
186 FieldElement getField(ir.Field node) => getElement(node).declaration; | 192 FieldElement getField(ir.Field node) => getElement(node).declaration; |
187 | 193 |
188 ClassElement getClass(ir.Class node) => getElement(node).declaration; | 194 ClassElement getClass(ir.Class node) => getElement(node).declaration; |
189 | 195 |
190 LibraryElement getLibrary(ir.Library node) => getElement(node).declaration; | 196 LibraryElement getLibrary(ir.Library node) => getElement(node).declaration; |
191 | 197 |
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
823 JumpTarget continueTarget = | 829 JumpTarget continueTarget = |
824 astAdapter.getJumpTarget(switchCase, isContinueTarget: true); | 830 astAdapter.getJumpTarget(switchCase, isContinueTarget: true); |
825 assert(continueTarget is KernelJumpTarget); | 831 assert(continueTarget is KernelJumpTarget); |
826 targetIndexMap[continueTarget] = switchIndex; | 832 targetIndexMap[continueTarget] = switchIndex; |
827 assert(builder.jumpTargets[continueTarget] == null); | 833 assert(builder.jumpTargets[continueTarget] == null); |
828 builder.jumpTargets[continueTarget] = this; | 834 builder.jumpTargets[continueTarget] = this; |
829 switchIndex++; | 835 switchIndex++; |
830 } | 836 } |
831 } | 837 } |
832 } | 838 } |
OLD | NEW |