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

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

Issue 2625713002: Rename Enqueuer.universe to worldBuilder. (Closed)
Patch Set: Updated cf. comments Created 3 years, 11 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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 // Tests that the closed world computed from [WorldImpact]s derived from kernel 5 // Tests that the closed world computed from [WorldImpact]s derived from kernel
6 // is equivalent to the original computed from resolution. 6 // is equivalent to the original computed from resolution.
7 library dart2js.kernel.closed_world_test; 7 library dart2js.kernel.closed_world_test;
8 8
9 import 'package:async_helper/async_helper.dart'; 9 import 'package:async_helper/async_helper.dart';
10 import 'package:compiler/src/commandline_options.dart'; 10 import 'package:compiler/src/commandline_options.dart';
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 enableDebugMode(); 69 enableDebugMode();
70 Compiler compiler = compilerFor( 70 Compiler compiler = compilerFor(
71 entryPoint: entryPoint, 71 entryPoint: entryPoint,
72 memorySourceFiles: memorySourceFiles, 72 memorySourceFiles: memorySourceFiles,
73 options: [ 73 options: [
74 Flags.analyzeOnly, 74 Flags.analyzeOnly,
75 Flags.useKernel, 75 Flags.useKernel,
76 Flags.enableAssertMessage 76 Flags.enableAssertMessage
77 ]); 77 ]);
78 ResolutionWorldBuilderImpl worldBuilder = 78 ResolutionWorldBuilderImpl worldBuilder =
79 compiler.enqueuer.resolution.universe; 79 compiler.enqueuer.resolution.worldBuilder;
80 worldBuilder.useInstantiationMap = true; 80 worldBuilder.useInstantiationMap = true;
81 compiler.resolution.retainCachesForTesting = true; 81 compiler.resolution.retainCachesForTesting = true;
82 await compiler.run(entryPoint); 82 await compiler.run(entryPoint);
83 compiler.resolverWorld.closeWorld(compiler.reporter); 83 compiler.resolutionWorldBuilder.closeWorld(compiler.reporter);
84 84
85 JavaScriptBackend backend = compiler.backend; 85 JavaScriptBackend backend = compiler.backend;
86 // Create a new resolution enqueuer and feed it with the [WorldImpact]s 86 // Create a new resolution enqueuer and feed it with the [WorldImpact]s
87 // computed from kernel through the [build] in `kernel_impact.dart`. 87 // computed from kernel through the [build] in `kernel_impact.dart`.
88 ResolutionEnqueuer enqueuer = new ResolutionEnqueuer( 88 ResolutionEnqueuer enqueuer = new ResolutionEnqueuer(
89 compiler.enqueuer, 89 compiler.enqueuer,
90 compiler.options, 90 compiler.options,
91 compiler.resolution, 91 compiler.resolution,
92 const TreeShakingEnqueuerStrategy(), 92 const TreeShakingEnqueuerStrategy(),
93 compiler.globalDependencies, 93 compiler.globalDependencies,
(...skipping 13 matching lines...) Expand all
107 .processNativeClasses(compiler.libraryLoader.libraries)); 107 .processNativeClasses(compiler.libraryLoader.libraries));
108 enqueuer.applyImpact( 108 enqueuer.applyImpact(
109 backend.computeMainImpact(compiler.mainFunction, forResolution: true)); 109 backend.computeMainImpact(compiler.mainFunction, forResolution: true));
110 enqueuer.forEach((work) { 110 enqueuer.forEach((work) {
111 AstElement element = work.element; 111 AstElement element = work.element;
112 ResolutionImpact resolutionImpact = build(compiler, element.resolvedAst); 112 ResolutionImpact resolutionImpact = build(compiler, element.resolvedAst);
113 WorldImpact worldImpact = compiler.backend.impactTransformer 113 WorldImpact worldImpact = compiler.backend.impactTransformer
114 .transformResolutionImpact(enqueuer, resolutionImpact); 114 .transformResolutionImpact(enqueuer, resolutionImpact);
115 enqueuer.applyImpact(worldImpact, impactSource: element); 115 enqueuer.applyImpact(worldImpact, impactSource: element);
116 }); 116 });
117 ClosedWorld closedWorld = enqueuer.universe.closeWorld(compiler.reporter); 117 ClosedWorld closedWorld =
118 enqueuer.worldBuilder.closeWorld(compiler.reporter);
118 119
119 checkResolutionEnqueuers(compiler.enqueuer.resolution, enqueuer, 120 checkResolutionEnqueuers(compiler.enqueuer.resolution, enqueuer,
120 typeEquivalence: (ResolutionDartType a, ResolutionDartType b) { 121 typeEquivalence: (ResolutionDartType a, ResolutionDartType b) {
121 return areTypesEquivalent(unalias(a), unalias(b)); 122 return areTypesEquivalent(unalias(a), unalias(b));
122 }, elementFilter: (Element element) { 123 }, elementFilter: (Element element) {
123 if (element is ConstructorElement && element.isRedirectingFactory) { 124 if (element is ConstructorElement && element.isRedirectingFactory) {
124 // Redirecting factory constructors are skipped in kernel. 125 // Redirecting factory constructors are skipped in kernel.
125 return false; 126 return false;
126 } 127 }
127 if (element is ClassElement) { 128 if (element is ClassElement) {
128 for (ConstructorElement constructor in element.constructors) { 129 for (ConstructorElement constructor in element.constructors) {
129 if (!constructor.isRedirectingFactory) { 130 if (!constructor.isRedirectingFactory) {
130 return true; 131 return true;
131 } 132 }
132 } 133 }
133 // The class cannot itself be instantiated. 134 // The class cannot itself be instantiated.
134 return false; 135 return false;
135 } 136 }
136 return true; 137 return true;
137 }, verbose: arguments.verbose); 138 }, verbose: arguments.verbose);
138 checkClosedWorlds(compiler.resolverWorld.closedWorldForTesting, closedWorld, 139 checkClosedWorlds(
140 compiler.resolutionWorldBuilder.closedWorldForTesting, closedWorld,
139 verbose: arguments.verbose); 141 verbose: arguments.verbose);
140 }); 142 });
141 } 143 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/instantiated_classes_test.dart ('k') | tests/compiler/dart2js/minimal_resolution_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698