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

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

Issue 2693893003: Introduce EnqueuerListener (Closed)
Patch Set: Make listener private 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 fd627857730db997c4d63d0f4f6e39ba9703031f..54bedb12b8cf6cf2a22f0cfc63b2cc164594e2cb 100644
--- a/tests/compiler/dart2js/kernel/closed_world_test.dart
+++ b/tests/compiler/dart2js/kernel/closed_world_test.dart
@@ -88,35 +88,19 @@ main(List<String> args) {
ResolutionEnqueuer enqueuer = new ResolutionEnqueuer(
compiler.enqueuer,
compiler.options,
- compiler.resolution,
+ compiler.reporter,
const TreeShakingEnqueuerStrategy(),
compiler.globalDependencies,
backend,
+ backend.nativeResolutionEnqueuer(),
+ new ResolutionWorldBuilderImpl(
+ compiler.backend, compiler.resolution, const OpenWorldStrategy()),
+ new ResolutionWorkItemBuilder(compiler.resolution),
'enqueuer from kernel');
- // TODO(johnniwinther): Store backend info separately. This replacement is
- // made to reset a field in [TypeVariableHandler] that prevents it from
- // enqueuing twice.
- backend.typeVariableHandler = new TypeVariableHandler(compiler);
+ ClosedWorld closedWorld = computeClosedWorld(compiler, enqueuer);
- if (compiler.deferredLoadTask.isProgramSplit) {
- enqueuer.applyImpact(backend.computeDeferredLoadingImpact());
- }
- enqueuer.applyImpact(backend.computeHelpersImpact());
- enqueuer.applyImpact(enqueuer.nativeEnqueuer
- .processNativeClasses(compiler.libraryLoader.libraries));
- enqueuer.applyImpact(
- backend.computeMainImpact(compiler.mainFunction, forResolution: true));
- enqueuer.forEach((work) {
- AstElement element = work.element;
- ResolutionImpact resolutionImpact = build(compiler, element.resolvedAst);
- WorldImpact worldImpact = compiler.backend.impactTransformer
- .transformResolutionImpact(enqueuer, resolutionImpact);
- enqueuer.applyImpact(worldImpact, impactSource: element);
- });
- ClosedWorld closedWorld =
- enqueuer.worldBuilder.closeWorld(compiler.reporter);
-
- checkResolutionEnqueuers(compiler.enqueuer.resolution, enqueuer,
+ checkResolutionEnqueuers(compiler.backend, compiler.backend,
+ compiler.enqueuer.resolution, enqueuer,
typeEquivalence: (ResolutionDartType a, ResolutionDartType b) {
return areTypesEquivalent(unalias(a), unalias(b));
}, elementFilter: (Element element) {
@@ -140,3 +124,29 @@ main(List<String> args) {
verbose: arguments.verbose);
});
}
+
+ClosedWorld computeClosedWorld(Compiler compiler, ResolutionEnqueuer enqueuer) {
+ 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.typeVariableHandler = new TypeVariableHandler(compiler);
+
+ if (compiler.deferredLoadTask.isProgramSplit) {
+ enqueuer.applyImpact(backend.computeDeferredLoadingImpact());
+ }
+ enqueuer.applyImpact(backend.computeHelpersImpact());
+ enqueuer.applyImpact(enqueuer.nativeEnqueuer
+ .processNativeClasses(compiler.libraryLoader.libraries));
+ enqueuer.applyImpact(
+ backend.computeMainImpact(compiler.mainFunction, forResolution: true));
+ enqueuer.forEach((work) {
+ AstElement element = work.element;
+ ResolutionImpact resolutionImpact = build(compiler, element.resolvedAst);
+ WorldImpact worldImpact = compiler.backend.impactTransformer
+ .transformResolutionImpact(enqueuer, resolutionImpact);
+ enqueuer.applyImpact(worldImpact, impactSource: element);
+ });
+ return enqueuer.worldBuilder.closeWorld(compiler.reporter);
+}
« no previous file with comments | « pkg/compiler/lib/src/js_backend/backend.dart ('k') | tests/compiler/dart2js/serialization/model_test_helper.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698