Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(556)

Side by Side Diff: tests/compiler/dart2js/kernel/closed_world2_test.dart

Issue 2829033002: Rename KernelWorldBuilder to KernelElementBuilder (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 17 matching lines...) Expand all
28 import 'package:compiler/src/js_backend/native_data.dart'; 28 import 'package:compiler/src/js_backend/native_data.dart';
29 import 'package:compiler/src/js_backend/impact_transformer.dart'; 29 import 'package:compiler/src/js_backend/impact_transformer.dart';
30 import 'package:compiler/src/js_backend/interceptor_data.dart'; 30 import 'package:compiler/src/js_backend/interceptor_data.dart';
31 import 'package:compiler/src/js_backend/lookup_map_analysis.dart'; 31 import 'package:compiler/src/js_backend/lookup_map_analysis.dart';
32 import 'package:compiler/src/js_backend/mirrors_analysis.dart'; 32 import 'package:compiler/src/js_backend/mirrors_analysis.dart';
33 import 'package:compiler/src/js_backend/mirrors_data.dart'; 33 import 'package:compiler/src/js_backend/mirrors_data.dart';
34 import 'package:compiler/src/js_backend/no_such_method_registry.dart'; 34 import 'package:compiler/src/js_backend/no_such_method_registry.dart';
35 import 'package:compiler/src/js_backend/resolution_listener.dart'; 35 import 'package:compiler/src/js_backend/resolution_listener.dart';
36 import 'package:compiler/src/js_backend/type_variable_handler.dart'; 36 import 'package:compiler/src/js_backend/type_variable_handler.dart';
37 import 'package:compiler/src/native/enqueue.dart'; 37 import 'package:compiler/src/native/enqueue.dart';
38 import 'package:compiler/src/kernel/world_builder.dart'; 38 import 'package:compiler/src/kernel/element_builder.dart';
39 import 'package:compiler/src/options.dart'; 39 import 'package:compiler/src/options.dart';
40 import 'package:compiler/src/universe/world_builder.dart'; 40 import 'package:compiler/src/universe/world_builder.dart';
41 import 'package:compiler/src/universe/world_impact.dart'; 41 import 'package:compiler/src/universe/world_impact.dart';
42 import 'package:compiler/src/world.dart'; 42 import 'package:compiler/src/world.dart';
43 import '../memory_compiler.dart'; 43 import '../memory_compiler.dart';
44 import '../serialization/helper.dart'; 44 import '../serialization/helper.dart';
45 45
46 import 'closed_world_test.dart'; 46 import 'closed_world_test.dart';
47 47
48 main(List<String> args) { 48 main(List<String> args) {
(...skipping 16 matching lines...) Expand all
65 options: [ 65 options: [
66 Flags.analyzeAll, 66 Flags.analyzeAll,
67 Flags.useKernel, 67 Flags.useKernel,
68 Flags.enableAssertMessage 68 Flags.enableAssertMessage
69 ]); 69 ]);
70 ElementResolutionWorldBuilder.useInstantiationMap = true; 70 ElementResolutionWorldBuilder.useInstantiationMap = true;
71 compiler.resolution.retainCachesForTesting = true; 71 compiler.resolution.retainCachesForTesting = true;
72 await compiler.run(entryPoint); 72 await compiler.run(entryPoint);
73 compiler.resolutionWorldBuilder.closeWorld(compiler.reporter); 73 compiler.resolutionWorldBuilder.closeWorld(compiler.reporter);
74 74
75 KernelWorldBuilder worldBuilder = new KernelWorldBuilder( 75 KernelElementBuilder elementBuilder = new KernelElementBuilder(
76 compiler.reporter, compiler.backend.kernelTask.program); 76 compiler.reporter, compiler.backend.kernelTask.program);
77 List list = createKernelResolutionEnqueuerListener(compiler.options, 77 List list = createKernelResolutionEnqueuerListener(compiler.options,
78 compiler.reporter, compiler.deferredLoadTask, worldBuilder); 78 compiler.reporter, compiler.deferredLoadTask, elementBuilder);
79 ResolutionEnqueuerListener resolutionEnqueuerListener = list[0]; 79 ResolutionEnqueuerListener resolutionEnqueuerListener = list[0];
80 ImpactTransformer impactTransformer = list[1]; 80 ImpactTransformer impactTransformer = list[1];
81 ResolutionEnqueuer enqueuer = new ResolutionEnqueuer( 81 ResolutionEnqueuer enqueuer = new ResolutionEnqueuer(
82 compiler.enqueuer, 82 compiler.enqueuer,
83 compiler.options, 83 compiler.options,
84 compiler.reporter, 84 compiler.reporter,
85 const TreeShakingEnqueuerStrategy(), 85 const TreeShakingEnqueuerStrategy(),
86 resolutionEnqueuerListener, 86 resolutionEnqueuerListener,
87 new KernelResolutionWorldBuilder( 87 new KernelResolutionWorldBuilder(
88 worldBuilder.elementEnvironment, 88 elementBuilder.elementEnvironment,
89 worldBuilder.commonElements, 89 elementBuilder.commonElements,
90 new NativeBasicDataImpl(), 90 new NativeBasicDataImpl(),
91 const OpenWorldStrategy()), 91 const OpenWorldStrategy()),
92 new KernelWorkItemBuilder(worldBuilder, impactTransformer), 92 new KernelWorkItemBuilder(elementBuilder, impactTransformer),
93 'enqueuer from kelements'); 93 'enqueuer from kelements');
94 94
95 computeClosedWorld( 95 computeClosedWorld(
96 compiler.reporter, enqueuer, worldBuilder.elementEnvironment); 96 compiler.reporter, enqueuer, elementBuilder.elementEnvironment);
97 }); 97 });
98 } 98 }
99 99
100 List createKernelResolutionEnqueuerListener( 100 List createKernelResolutionEnqueuerListener(
101 CompilerOptions options, 101 CompilerOptions options,
102 DiagnosticReporter reporter, 102 DiagnosticReporter reporter,
103 DeferredLoadTask deferredLoadTask, 103 DeferredLoadTask deferredLoadTask,
104 KernelWorldBuilder worldBuilder) { 104 KernelElementBuilder elementBuilder) {
105 ElementEnvironment elementEnvironment = worldBuilder.elementEnvironment; 105 ElementEnvironment elementEnvironment = elementBuilder.elementEnvironment;
106 CommonElements commonElements = worldBuilder.commonElements; 106 CommonElements commonElements = elementBuilder.commonElements;
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 LookupMapResolutionAnalysis lookupMapResolutionAnalysis = 117 LookupMapResolutionAnalysis lookupMapResolutionAnalysis =
118 new LookupMapResolutionAnalysis(reporter, elementEnvironment); 118 new LookupMapResolutionAnalysis(reporter, elementEnvironment);
119 InterceptorDataBuilder interceptorDataBuilder = 119 InterceptorDataBuilder interceptorDataBuilder =
120 new InterceptorDataBuilderImpl( 120 new InterceptorDataBuilderImpl(
121 nativeBasicData, elementEnvironment, commonElements); 121 nativeBasicData, elementEnvironment, commonElements);
122 BackendUsageBuilder backendUsageBuilder = 122 BackendUsageBuilder backendUsageBuilder =
123 new BackendUsageBuilderImpl(commonElements); 123 new BackendUsageBuilderImpl(commonElements);
124 NoSuchMethodRegistry noSuchMethodRegistry = new NoSuchMethodRegistry( 124 NoSuchMethodRegistry noSuchMethodRegistry = new NoSuchMethodRegistry(
125 commonElements, new KernelNoSuchMethodResolver(worldBuilder)); 125 commonElements, new KernelNoSuchMethodResolver(elementBuilder));
126 NativeResolutionEnqueuer nativeResolutionEnqueuer = 126 NativeResolutionEnqueuer nativeResolutionEnqueuer =
127 new NativeResolutionEnqueuer(options, elementEnvironment, commonElements, 127 new NativeResolutionEnqueuer(options, elementEnvironment, commonElements,
128 backendUsageBuilder, new KernelNativeClassResolver(worldBuilder)); 128 backendUsageBuilder, new KernelNativeClassResolver(elementBuilder));
129 129
130 ResolutionEnqueuerListener listener = new ResolutionEnqueuerListener( 130 ResolutionEnqueuerListener listener = new ResolutionEnqueuerListener(
131 options, 131 options,
132 elementEnvironment, 132 elementEnvironment,
133 commonElements, 133 commonElements,
134 impacts, 134 impacts,
135 nativeBasicData, 135 nativeBasicData,
136 interceptorDataBuilder, 136 interceptorDataBuilder,
137 backendUsageBuilder, 137 backendUsageBuilder,
138 rtiNeedBuilder, 138 rtiNeedBuilder,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 @override 267 @override
268 MirrorsCodegenAnalysis close() { 268 MirrorsCodegenAnalysis close() {
269 throw new UnimplementedError('MirrorsResolutionAnalysisImpl.close'); 269 throw new UnimplementedError('MirrorsResolutionAnalysisImpl.close');
270 } 270 }
271 271
272 @override 272 @override
273 void onResolutionComplete() {} 273 void onResolutionComplete() {}
274 } 274 }
275 275
276 class KernelWorkItemBuilder implements WorkItemBuilder { 276 class KernelWorkItemBuilder implements WorkItemBuilder {
277 final KernelWorldBuilder _worldBuilder; 277 final KernelElementBuilder _worldBuilder;
278 final ImpactTransformer _impactTransformer; 278 final ImpactTransformer _impactTransformer;
279 279
280 KernelWorkItemBuilder(this._worldBuilder, this._impactTransformer); 280 KernelWorkItemBuilder(this._worldBuilder, this._impactTransformer);
281 281
282 @override 282 @override
283 WorkItem createWorkItem(MemberEntity entity) { 283 WorkItem createWorkItem(MemberEntity entity) {
284 return new KernelWorkItem(_worldBuilder, _impactTransformer, entity); 284 return new KernelWorkItem(_worldBuilder, _impactTransformer, entity);
285 } 285 }
286 } 286 }
287 287
288 class KernelWorkItem implements ResolutionWorkItem { 288 class KernelWorkItem implements ResolutionWorkItem {
289 final KernelWorldBuilder _worldBuilder; 289 final KernelElementBuilder _worldBuilder;
290 final ImpactTransformer _impactTransformer; 290 final ImpactTransformer _impactTransformer;
291 final MemberEntity element; 291 final MemberEntity element;
292 292
293 KernelWorkItem(this._worldBuilder, this._impactTransformer, this.element); 293 KernelWorkItem(this._worldBuilder, this._impactTransformer, this.element);
294 294
295 @override 295 @override
296 WorldImpact run() { 296 WorldImpact run() {
297 ResolutionImpact impact = _worldBuilder.computeWorldImpact(element); 297 ResolutionImpact impact = _worldBuilder.computeWorldImpact(element);
298 return _impactTransformer.transformResolutionImpact(impact); 298 return _impactTransformer.transformResolutionImpact(impact);
299 } 299 }
300 } 300 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698