| Index: tests/compiler/dart2js/kernel/closed_world_test.dart
|
| diff --git a/tests/compiler/dart2js/kernel/closed_world_test.dart b/tests/compiler/dart2js/kernel/closed_world_test.dart
|
| index 6ab66a779a96d3a365b34596530d62cb36c2618e..845ebdedd7b337ee677ce1b8242cda7b1816ceac 100644
|
| --- a/tests/compiler/dart2js/kernel/closed_world_test.dart
|
| +++ b/tests/compiler/dart2js/kernel/closed_world_test.dart
|
| @@ -17,6 +17,7 @@ import 'package:compiler/src/enqueue.dart';
|
| import 'package:compiler/src/js_backend/backend.dart';
|
| import 'package:compiler/src/js_backend/backend_usage.dart';
|
| import 'package:compiler/src/js_backend/type_variable_handler.dart';
|
| +import 'package:compiler/src/js_backend/resolution_listener.dart';
|
| import 'package:compiler/src/ssa/kernel_impact.dart';
|
| import 'package:compiler/src/serialization/equivalence.dart';
|
| import 'package:compiler/src/universe/world_builder.dart';
|
| @@ -91,9 +92,9 @@ main(List<String> args) {
|
| compiler.options,
|
| compiler.reporter,
|
| const TreeShakingEnqueuerStrategy(),
|
| - backend.resolutionEnqueuerListener,
|
| + createResolutionEnqueuerListener(compiler),
|
| new ElementResolutionWorldBuilder(
|
| - compiler.backend, compiler.resolution, const OpenWorldStrategy()),
|
| + backend, compiler.resolution, const OpenWorldStrategy()),
|
| new ResolutionWorkItemBuilder(compiler.resolution),
|
| 'enqueuer from kernel');
|
| ClosedWorld closedWorld = computeClosedWorld(compiler, enqueuer);
|
| @@ -124,16 +125,31 @@ main(List<String> args) {
|
| });
|
| }
|
|
|
| -ClosedWorld computeClosedWorld(Compiler compiler, ResolutionEnqueuer enqueuer) {
|
| +EnqueuerListener createResolutionEnqueuerListener(Compiler compiler) {
|
| JavaScriptBackend backend = compiler.backend;
|
| -
|
| - // TODO(johnniwinther): Store backend info separately. This replacement is
|
| - // made to reset a field in [TypeVariableHandler] that prevents it from
|
| - // enqueuing twice.
|
| - backend.typeVariableAnalysis = new TypeVariableAnalysis(
|
| + return new ResolutionEnqueuerListener(
|
| + backend.kernelTask,
|
| + compiler.options,
|
| compiler.elementEnvironment,
|
| + compiler.commonElements,
|
| + backend.helpers,
|
| backend.impacts,
|
| - backend.backendUsageBuilder);
|
| + backend.nativeData,
|
| + backend.interceptorDataBuilder,
|
| + backend.backendUsageBuilder,
|
| + backend.rtiNeedBuilder,
|
| + backend.mirrorsData,
|
| + backend.noSuchMethodRegistry,
|
| + backend.customElementsResolutionAnalysis,
|
| + backend.lookupMapLibraryAccess,
|
| + backend.mirrorsAnalysis,
|
| + new TypeVariableAnalysis(compiler.elementEnvironment, backend.impacts,
|
| + backend.backendUsageBuilder),
|
| + backend.nativeResolutionEnqueuer);
|
| +}
|
| +
|
| +ClosedWorld computeClosedWorld(Compiler compiler, ResolutionEnqueuer enqueuer) {
|
| + JavaScriptBackend backend = compiler.backend;
|
|
|
| if (compiler.deferredLoadTask.isProgramSplit) {
|
| enqueuer.applyImpact(backend.computeDeferredLoadingImpact());
|
|
|