OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 // Partial test that the closed world computed from [WorldImpact]s derived from | 5 // Partial test that the closed world computed from [WorldImpact]s derived from |
6 // kernel is equivalent to the original computed from resolution. | 6 // kernel is equivalent to the original computed from resolution. |
7 library dart2js.kernel.closed_world2_test; | 7 library dart2js.kernel.closed_world2_test; |
8 | 8 |
9 import 'package:async_helper/async_helper.dart'; | 9 import 'package:async_helper/async_helper.dart'; |
10 import 'package:compiler/src/closure.dart'; | 10 import 'package:compiler/src/closure.dart'; |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 BackendImpacts impacts = new BackendImpacts(options, commonElements); | 107 BackendImpacts impacts = new BackendImpacts(options, commonElements); |
108 | 108 |
109 // TODO(johnniwinther): Create Kernel based implementations for these: | 109 // TODO(johnniwinther): Create Kernel based implementations for these: |
110 NativeBasicData nativeBasicData = new NativeBasicDataImpl(); | 110 NativeBasicData nativeBasicData = new NativeBasicDataImpl(); |
111 RuntimeTypesNeedBuilder rtiNeedBuilder = new RuntimeTypesNeedBuilderImpl(); | 111 RuntimeTypesNeedBuilder rtiNeedBuilder = new RuntimeTypesNeedBuilderImpl(); |
112 MirrorsDataBuilder mirrorsDataBuilder = new MirrorsDataBuilderImpl(); | 112 MirrorsDataBuilder mirrorsDataBuilder = new MirrorsDataBuilderImpl(); |
113 CustomElementsResolutionAnalysis customElementsResolutionAnalysis = | 113 CustomElementsResolutionAnalysis customElementsResolutionAnalysis = |
114 new CustomElementsResolutionAnalysisImpl(); | 114 new CustomElementsResolutionAnalysisImpl(); |
115 MirrorsResolutionAnalysis mirrorsResolutionAnalysis = | 115 MirrorsResolutionAnalysis mirrorsResolutionAnalysis = |
116 new MirrorsResolutionAnalysisImpl(); | 116 new MirrorsResolutionAnalysisImpl(); |
117 | |
118 LookupMapResolutionAnalysis lookupMapResolutionAnalysis = | 117 LookupMapResolutionAnalysis lookupMapResolutionAnalysis = |
119 new LookupMapResolutionAnalysis(reporter, elementEnvironment); | 118 new LookupMapResolutionAnalysis(reporter, elementEnvironment); |
120 BackendClasses backendClasses = new JavaScriptBackendClasses( | |
121 elementEnvironment, commonElements, nativeBasicData); | |
122 InterceptorDataBuilder interceptorDataBuilder = | 119 InterceptorDataBuilder interceptorDataBuilder = |
123 new InterceptorDataBuilderImpl( | 120 new InterceptorDataBuilderImpl( |
124 nativeBasicData, elementEnvironment, commonElements); | 121 nativeBasicData, elementEnvironment, commonElements); |
125 BackendUsageBuilder backendUsageBuilder = | 122 BackendUsageBuilder backendUsageBuilder = |
126 new BackendUsageBuilderImpl(commonElements); | 123 new BackendUsageBuilderImpl(commonElements); |
127 NoSuchMethodRegistry noSuchMethodRegistry = new NoSuchMethodRegistry( | 124 NoSuchMethodRegistry noSuchMethodRegistry = new NoSuchMethodRegistry( |
128 commonElements, new KernelNoSuchMethodResolver(worldBuilder)); | 125 commonElements, new KernelNoSuchMethodResolver(worldBuilder)); |
129 NativeResolutionEnqueuer nativeResolutionEnqueuer = | 126 NativeResolutionEnqueuer nativeResolutionEnqueuer = |
130 new NativeResolutionEnqueuer( | 127 new NativeResolutionEnqueuer(options, elementEnvironment, commonElements, |
131 options, | 128 backendUsageBuilder, new KernelNativeClassResolver(worldBuilder)); |
132 elementEnvironment, | |
133 commonElements, | |
134 backendClasses, | |
135 backendUsageBuilder, | |
136 new KernelNativeClassResolver(worldBuilder)); | |
137 | 129 |
138 ResolutionEnqueuerListener listener = new ResolutionEnqueuerListener( | 130 ResolutionEnqueuerListener listener = new ResolutionEnqueuerListener( |
139 options, | 131 options, |
140 elementEnvironment, | 132 elementEnvironment, |
141 commonElements, | 133 commonElements, |
142 impacts, | 134 impacts, |
143 backendClasses, | |
144 nativeBasicData, | 135 nativeBasicData, |
145 interceptorDataBuilder, | 136 interceptorDataBuilder, |
146 backendUsageBuilder, | 137 backendUsageBuilder, |
147 rtiNeedBuilder, | 138 rtiNeedBuilder, |
148 mirrorsDataBuilder, | 139 mirrorsDataBuilder, |
149 noSuchMethodRegistry, | 140 noSuchMethodRegistry, |
150 customElementsResolutionAnalysis, | 141 customElementsResolutionAnalysis, |
151 lookupMapResolutionAnalysis, | 142 lookupMapResolutionAnalysis, |
152 mirrorsResolutionAnalysis, | 143 mirrorsResolutionAnalysis, |
153 new TypeVariableResolutionAnalysis( | 144 new TypeVariableResolutionAnalysis( |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 final MemberEntity element; | 291 final MemberEntity element; |
301 | 292 |
302 KernelWorkItem(this._worldBuilder, this._impactTransformer, this.element); | 293 KernelWorkItem(this._worldBuilder, this._impactTransformer, this.element); |
303 | 294 |
304 @override | 295 @override |
305 WorldImpact run() { | 296 WorldImpact run() { |
306 ResolutionImpact impact = _worldBuilder.computeWorldImpact(element); | 297 ResolutionImpact impact = _worldBuilder.computeWorldImpact(element); |
307 return _impactTransformer.transformResolutionImpact(impact); | 298 return _impactTransformer.transformResolutionImpact(impact); |
308 } | 299 } |
309 } | 300 } |
OLD | NEW |