| 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 |