| 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 105 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 116     } | 116     } | 
| 117     if (originTarget is MethodElement) { | 117     if (originTarget is MethodElement) { | 
| 118       if (originTarget is ConstructorBodyElement) { | 118       if (originTarget is ConstructorBodyElement) { | 
| 119         ConstructorBodyElement body = originTarget; | 119         ConstructorBodyElement body = originTarget; | 
| 120         originTarget = body.constructor; | 120         originTarget = body.constructor; | 
| 121       } | 121       } | 
| 122       target = kernel.functions[originTarget]; | 122       target = kernel.functions[originTarget]; | 
| 123       // Closures require a lookup one level deeper in the closure class mapper. | 123       // Closures require a lookup one level deeper in the closure class mapper. | 
| 124       if (target == null) { | 124       if (target == null) { | 
| 125         MethodElement originTargetFunction = originTarget; | 125         MethodElement originTargetFunction = originTarget; | 
| 126         ClosureRepresentationInfo classMap = _compiler.closureDataLookup | 126         ClosureRepresentationInfo classMap = _compiler | 
|  | 127             .backendStrategy.closureDataLookup | 
| 127             .getClosureRepresentationInfo(originTargetFunction); | 128             .getClosureRepresentationInfo(originTargetFunction); | 
| 128         if (classMap.closureEntity != null) { | 129         if (classMap.closureEntity != null) { | 
| 129           target = kernel.localFunctions[classMap.closureEntity]; | 130           target = kernel.localFunctions[classMap.closureEntity]; | 
| 130         } | 131         } | 
| 131       } | 132       } | 
| 132     } else if (originTarget is FieldElement) { | 133     } else if (originTarget is FieldElement) { | 
| 133       target = kernel.fields[originTarget]; | 134       target = kernel.fields[originTarget]; | 
| 134     } | 135     } | 
| 135     assert(target != null); | 136     assert(target != null); | 
| 136     return target; | 137     return target; | 
| (...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 612   TypeMask selectorTypeOf(Selector selector, TypeMask mask) { | 613   TypeMask selectorTypeOf(Selector selector, TypeMask mask) { | 
| 613     return TypeMaskFactory.inferredTypeForSelector( | 614     return TypeMaskFactory.inferredTypeForSelector( | 
| 614         selector, mask, _globalInferenceResults); | 615         selector, mask, _globalInferenceResults); | 
| 615   } | 616   } | 
| 616 | 617 | 
| 617   TypeMask typeFromNativeBehavior( | 618   TypeMask typeFromNativeBehavior( | 
| 618       native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) { | 619       native.NativeBehavior nativeBehavior, ClosedWorld closedWorld) { | 
| 619     return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld); | 620     return TypeMaskFactory.fromNativeBehavior(nativeBehavior, closedWorld); | 
| 620   } | 621   } | 
| 621 } | 622 } | 
| OLD | NEW | 
|---|