Index: pkg/compiler/lib/src/js_backend/enqueuer.dart |
diff --git a/pkg/compiler/lib/src/js_backend/enqueuer.dart b/pkg/compiler/lib/src/js_backend/enqueuer.dart |
index 5d7d7d9038fe468d06908c8b890d13992bb15ede..98d20a5857a5822821b800c9ccedb75d80989ede 100644 |
--- a/pkg/compiler/lib/src/js_backend/enqueuer.dart |
+++ b/pkg/compiler/lib/src/js_backend/enqueuer.dart |
@@ -32,7 +32,7 @@ class CodegenEnqueuer extends EnqueuerImpl { |
final EnqueuerStrategy strategy; |
Set<ClassEntity> _recentClasses = new Setlet<ClassEntity>(); |
- final CodegenWorldBuilderImpl _universe; |
+ final CodegenWorldBuilderImpl _worldBuilder; |
final WorkItemBuilder _workItemBuilder; |
bool queueIsClosed = false; |
@@ -50,18 +50,13 @@ class CodegenEnqueuer extends EnqueuerImpl { |
static const ImpactUseCase IMPACT_USE = |
const ImpactUseCase('CodegenEnqueuer'); |
- CodegenEnqueuer(this.task, JavaScriptBackend backend, CompilerOptions options, |
- this.strategy) |
- : _universe = |
- new CodegenWorldBuilderImpl(backend, const TypeMaskStrategy()), |
- _workItemBuilder = new CodegenWorkItemBuilder(backend, options), |
- this.listener = backend.codegenEnqueuerListener, |
- this._options = options, |
- this.name = 'codegen enqueuer' { |
+ CodegenEnqueuer(this.task, this._options, this.strategy, this._worldBuilder, |
+ this._workItemBuilder, this.listener) |
+ : this.name = 'codegen enqueuer' { |
_impactVisitor = new EnqueuerImplImpactVisitor(this); |
} |
- CodegenWorldBuilder get worldBuilder => _universe; |
+ CodegenWorldBuilder get worldBuilder => _worldBuilder; |
bool get queueIsEmpty => _queue.isEmpty; |
@@ -102,7 +97,7 @@ class CodegenEnqueuer extends EnqueuerImpl { |
void _registerInstantiatedType(ResolutionInterfaceType type, |
{bool mirrorUsage: false, bool nativeUsage: false}) { |
task.measure(() { |
- _universe.registerTypeInstantiation(type, _applyClassUse, |
+ _worldBuilder.registerTypeInstantiation(type, _applyClassUse, |
byMirrors: mirrorUsage); |
listener.registerInstantiatedType(type, nativeUsage: nativeUsage); |
}); |
@@ -113,7 +108,7 @@ class CodegenEnqueuer extends EnqueuerImpl { |
} |
void checkClass(ClassEntity cls) { |
- _universe.processClassMembers(cls, (MemberEntity member, useSet) { |
+ _worldBuilder.processClassMembers(cls, (MemberEntity member, useSet) { |
if (useSet.isNotEmpty) { |
throw new SpannableAssertionFailure(member, |
'Unenqueued use of $member: ${useSet.iterable(MemberUse.values)}'); |
@@ -125,7 +120,7 @@ class CodegenEnqueuer extends EnqueuerImpl { |
void _applyClassUse(ClassEntity cls, EnumSet<ClassUse> useSet) { |
if (useSet.contains(ClassUse.INSTANTIATED)) { |
_recentClasses.add(cls); |
- _universe.processClassMembers(cls, _applyMemberUse); |
+ _worldBuilder.processClassMembers(cls, _applyMemberUse); |
// We only tell the backend once that [cls] was instantiated, so |
// any additional dependencies must be treated as global |
// dependencies. |
@@ -151,12 +146,12 @@ class CodegenEnqueuer extends EnqueuerImpl { |
void processDynamicUse(DynamicUse dynamicUse) { |
task.measure(() { |
- _universe.registerDynamicUse(dynamicUse, _applyMemberUse); |
+ _worldBuilder.registerDynamicUse(dynamicUse, _applyMemberUse); |
}); |
} |
void processStaticUse(StaticUse staticUse) { |
- _universe.registerStaticUse(staticUse, _applyMemberUse); |
+ _worldBuilder.registerStaticUse(staticUse, _applyMemberUse); |
switch (staticUse.kind) { |
case StaticUseKind.CONSTRUCTOR_INVOKE: |
case StaticUseKind.CONST_CONSTRUCTOR_INVOKE: |
@@ -200,7 +195,7 @@ class CodegenEnqueuer extends EnqueuerImpl { |
} |
void _registerIsCheck(ResolutionDartType type) { |
- _universe.registerIsCheck(type); |
+ _worldBuilder.registerIsCheck(type); |
} |
void _registerClosurizedMember(MemberElement element) { |
@@ -249,7 +244,7 @@ class CodegenEnqueuer extends EnqueuerImpl { |
Iterable<Entity> get processedEntities => _processedEntities; |
@override |
- Iterable<ClassEntity> get processedClasses => _universe.processedClasses; |
+ Iterable<ClassEntity> get processedClasses => _worldBuilder.processedClasses; |
} |
/// Builder that creates the work item necessary for the code generation of a |