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

Unified Diff: tests/compiler/dart2js/kernel/closed_world_test.dart

Issue 2729943004: Remove backend reference from ResolutionEnqueuerListener. (Closed)
Patch Set: Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698