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()); |