| 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 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 if (originTarget is MethodElement) { | 109 if (originTarget is MethodElement) { |
| 110 if (originTarget is ConstructorBodyElement) { | 110 if (originTarget is ConstructorBodyElement) { |
| 111 ConstructorBodyElement body = originTarget; | 111 ConstructorBodyElement body = originTarget; |
| 112 originTarget = body.constructor; | 112 originTarget = body.constructor; |
| 113 } | 113 } |
| 114 target = kernel.functions[originTarget]; | 114 target = kernel.functions[originTarget]; |
| 115 // Closures require a lookup one level deeper in the closure class mapper. | 115 // Closures require a lookup one level deeper in the closure class mapper. |
| 116 if (target == null) { | 116 if (target == null) { |
| 117 MethodElement originTargetFunction = originTarget; | 117 MethodElement originTargetFunction = originTarget; |
| 118 ClosureClassMap classMap = _compiler.closureToClassMapper | 118 ClosureClassMap classMap = _compiler.closureToClassMapper |
| 119 .getClosureToClassMapping(originTargetFunction.resolvedAst); | 119 .getClosureToClassMapping(originTargetFunction); |
| 120 if (classMap.closureElement != null) { | 120 if (classMap.closureElement != null) { |
| 121 target = kernel.localFunctions[classMap.closureElement]; | 121 target = kernel.localFunctions[classMap.closureElement]; |
| 122 } | 122 } |
| 123 } | 123 } |
| 124 } else if (originTarget is FieldElement) { | 124 } else if (originTarget is FieldElement) { |
| 125 target = kernel.fields[originTarget]; | 125 target = kernel.fields[originTarget]; |
| 126 } | 126 } |
| 127 assert(target != null); | 127 assert(target != null); |
| 128 return target; | 128 return target; |
| 129 } | 129 } |
| (...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 632 TypeMask selectorTypeOf(Selector selector, TypeMask mask) { | 632 TypeMask selectorTypeOf(Selector selector, TypeMask mask) { |
| 633 return TypeMaskFactory.inferredTypeForSelector( | 633 return TypeMaskFactory.inferredTypeForSelector( |
| 634 selector, mask, _globalInferenceResults); | 634 selector, mask, _globalInferenceResults); |
| 635 } | 635 } |
| 636 | 636 |
| 637 TypeMask typeFromNativeBehavior( | 637 TypeMask typeFromNativeBehavior( |
| 638 native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) { | 638 native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) { |
| 639 return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld); | 639 return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld); |
| 640 } | 640 } |
| 641 } | 641 } |
| OLD | NEW |