| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 library js_backend.backend; | 5 library js_backend.backend; |
| 6 | 6 |
| 7 import '../common.dart'; | 7 import '../common.dart'; |
| 8 import '../common/backend_api.dart' | 8 import '../common/backend_api.dart' |
| 9 show ForeignResolver, NativeRegistry, ImpactTransformer; | 9 show ForeignResolver, NativeRegistry, ImpactTransformer; |
| 10 import '../common/codegen.dart' show CodegenImpact, CodegenWorkItem; | 10 import '../common/codegen.dart' show CodegenImpact, CodegenWorkItem; |
| (...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 821 } | 821 } |
| 822 | 822 |
| 823 ResolutionEnqueuer createResolutionEnqueuer( | 823 ResolutionEnqueuer createResolutionEnqueuer( |
| 824 CompilerTask task, Compiler compiler) { | 824 CompilerTask task, Compiler compiler) { |
| 825 _nativeBasicData = | 825 _nativeBasicData = |
| 826 nativeBasicDataBuilder.close(compiler.elementEnvironment); | 826 nativeBasicDataBuilder.close(compiler.elementEnvironment); |
| 827 _nativeResolutionEnqueuer = new native.NativeResolutionEnqueuer( | 827 _nativeResolutionEnqueuer = new native.NativeResolutionEnqueuer( |
| 828 compiler.options, | 828 compiler.options, |
| 829 compiler.elementEnvironment, | 829 compiler.elementEnvironment, |
| 830 commonElements, | 830 commonElements, |
| 831 compiler.frontEndStrategy.dartTypes, |
| 831 backendUsageBuilder, | 832 backendUsageBuilder, |
| 832 compiler.frontEndStrategy.createNativeClassFinder(nativeBasicData)); | 833 compiler.frontEndStrategy.createNativeClassFinder(nativeBasicData)); |
| 833 _nativeDataBuilder = new NativeDataBuilderImpl(nativeBasicData); | 834 _nativeDataBuilder = new NativeDataBuilderImpl(nativeBasicData); |
| 834 _customElementsResolutionAnalysis = compiler.frontEndStrategy | 835 _customElementsResolutionAnalysis = compiler.frontEndStrategy |
| 835 .createCustomElementsResolutionAnalysis( | 836 .createCustomElementsResolutionAnalysis( |
| 836 nativeBasicData, backendUsageBuilder); | 837 nativeBasicData, backendUsageBuilder); |
| 837 impactTransformer = new JavaScriptImpactTransformer( | 838 impactTransformer = new JavaScriptImpactTransformer( |
| 838 compiler.options, | 839 compiler.options, |
| 839 compiler.elementEnvironment, | 840 compiler.elementEnvironment, |
| 840 commonElements, | 841 commonElements, |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 894 compiler.elementEnvironment, | 895 compiler.elementEnvironment, |
| 895 commonElements, | 896 commonElements, |
| 896 lookupMapResolutionAnalysis); | 897 lookupMapResolutionAnalysis); |
| 897 _mirrorsCodegenAnalysis = mirrorsResolutionAnalysis.close(); | 898 _mirrorsCodegenAnalysis = mirrorsResolutionAnalysis.close(); |
| 898 _customElementsCodegenAnalysis = new CustomElementsCodegenAnalysis( | 899 _customElementsCodegenAnalysis = new CustomElementsCodegenAnalysis( |
| 899 compiler.resolution, constantSystem, commonElements, nativeBasicData); | 900 compiler.resolution, constantSystem, commonElements, nativeBasicData); |
| 900 _nativeCodegenEnqueuer = new native.NativeCodegenEnqueuer( | 901 _nativeCodegenEnqueuer = new native.NativeCodegenEnqueuer( |
| 901 compiler.options, | 902 compiler.options, |
| 902 compiler.elementEnvironment, | 903 compiler.elementEnvironment, |
| 903 commonElements, | 904 commonElements, |
| 905 compiler.frontEndStrategy.dartTypes, |
| 904 emitter, | 906 emitter, |
| 905 _nativeResolutionEnqueuer, | 907 _nativeResolutionEnqueuer, |
| 906 closedWorld.nativeData); | 908 closedWorld.nativeData); |
| 907 return new CodegenEnqueuer( | 909 return new CodegenEnqueuer( |
| 908 task, | 910 task, |
| 909 compiler.options, | 911 compiler.options, |
| 910 const TreeShakingEnqueuerStrategy(), | 912 const TreeShakingEnqueuerStrategy(), |
| 911 new CodegenWorldBuilderImpl( | 913 new CodegenWorldBuilderImpl( |
| 912 nativeBasicData, closedWorld, constants, const TypeMaskStrategy()), | 914 nativeBasicData, closedWorld, constants, const TypeMaskStrategy()), |
| 913 new CodegenWorkItemBuilder(this, closedWorld, compiler.options), | 915 new CodegenWorkItemBuilder(this, closedWorld, compiler.options), |
| (...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1447 | 1449 |
| 1448 bool canUseAliasedSuperMember(MemberEntity member, Selector selector) { | 1450 bool canUseAliasedSuperMember(MemberEntity member, Selector selector) { |
| 1449 return !selector.isGetter; | 1451 return !selector.isGetter; |
| 1450 } | 1452 } |
| 1451 | 1453 |
| 1452 /// Returns `true` if [member] is called from a subclass via `super`. | 1454 /// Returns `true` if [member] is called from a subclass via `super`. |
| 1453 bool isAliasedSuperMember(MemberEntity member) { | 1455 bool isAliasedSuperMember(MemberEntity member) { |
| 1454 return _aliasedSuperMembers.contains(member); | 1456 return _aliasedSuperMembers.contains(member); |
| 1455 } | 1457 } |
| 1456 } | 1458 } |
| OLD | NEW |