Index: pkg/compiler/lib/src/ssa/builder.dart |
diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart |
index 91266f3a12d44855e451896e058146a215e10708..5cca5219436064d5cdc336e5866ad2053c24c0c6 100644 |
--- a/pkg/compiler/lib/src/ssa/builder.dart |
+++ b/pkg/compiler/lib/src/ssa/builder.dart |
@@ -37,7 +37,7 @@ import '../universe/selector.dart' show Selector; |
import '../universe/side_effects.dart' show SideEffects; |
import '../universe/use.dart' show DynamicUse, StaticUse, TypeUse; |
import '../util/util.dart'; |
-import '../world.dart' show ClassWorld; |
+import '../world.dart' show ClosedWorld; |
import 'graph_builder.dart'; |
import 'jump_handler.dart'; |
@@ -3366,8 +3366,8 @@ class SsaBuilder extends ast.Visitor |
} |
bool needsSubstitutionForTypeVariableAccess(ClassElement cls) { |
- ClassWorld classWorld = compiler.closedWorld; |
- if (classWorld.isUsedAsMixin(cls)) return true; |
+ ClosedWorld closedWorld = compiler.closedWorld; |
+ if (closedWorld.isUsedAsMixin(cls)) return true; |
return compiler.closedWorld.anyStrictSubclassOf(cls, |
(ClassElement subclass) { |
@@ -5659,11 +5659,11 @@ class SsaBuilder extends ast.Visitor |
TypeMask mask = inferenceResults.typeOfIterator(node, elements); |
- ClassWorld classWorld = compiler.closedWorld; |
+ ClosedWorld closedWorld = compiler.closedWorld; |
if (mask != null && |
- mask.satisfies(helpers.jsIndexableClass, classWorld) && |
+ mask.satisfies(helpers.jsIndexableClass, closedWorld) && |
// String is indexable but not iterable. |
- !mask.satisfies(helpers.jsStringClass, classWorld)) { |
+ !mask.satisfies(helpers.jsStringClass, closedWorld)) { |
return buildSyncForInIndexable(node, mask); |
} |
buildSyncForInIterator(node); |
@@ -6982,20 +6982,20 @@ class AstInliningState extends InliningState { |
} |
class TypeBuilder implements DartTypeVisitor<dynamic, SsaBuilder> { |
- final ClassWorld classWorld; |
+ final ClosedWorld closedWorld; |
- TypeBuilder(this.classWorld); |
+ TypeBuilder(this.closedWorld); |
void visit(DartType type, SsaBuilder builder) => type.accept(this, builder); |
void visitVoidType(VoidType type, SsaBuilder builder) { |
ClassElement cls = builder.backend.helpers.VoidRuntimeType; |
- builder.push(new HVoidType(type, new TypeMask.exact(cls, classWorld))); |
+ builder.push(new HVoidType(type, new TypeMask.exact(cls, closedWorld))); |
} |
void visitTypeVariableType(TypeVariableType type, SsaBuilder builder) { |
ClassElement cls = builder.backend.helpers.RuntimeType; |
- TypeMask instructionType = new TypeMask.subclass(cls, classWorld); |
+ TypeMask instructionType = new TypeMask.subclass(cls, closedWorld); |
if (!builder.sourceElement.enclosingElement.isClosure && |
builder.sourceElement.isInstanceMember) { |
HInstruction receiver = builder.localsHandler.readThis(); |
@@ -7032,7 +7032,7 @@ class TypeBuilder implements DartTypeVisitor<dynamic, SsaBuilder> { |
ClassElement cls = builder.backend.helpers.RuntimeFunctionType; |
builder.push( |
- new HFunctionType(inputs, type, new TypeMask.exact(cls, classWorld))); |
+ new HFunctionType(inputs, type, new TypeMask.exact(cls, closedWorld))); |
} |
void visitMalformedType(MalformedType type, SsaBuilder builder) { |
@@ -7056,7 +7056,7 @@ class TypeBuilder implements DartTypeVisitor<dynamic, SsaBuilder> { |
cls = builder.backend.helpers.RuntimeTypeGeneric; |
} |
builder.push( |
- new HInterfaceType(inputs, type, new TypeMask.exact(cls, classWorld))); |
+ new HInterfaceType(inputs, type, new TypeMask.exact(cls, closedWorld))); |
} |
void visitTypedefType(TypedefType type, SsaBuilder builder) { |
@@ -7068,6 +7068,6 @@ class TypeBuilder implements DartTypeVisitor<dynamic, SsaBuilder> { |
void visitDynamicType(DynamicType type, SsaBuilder builder) { |
JavaScriptBackend backend = builder.compiler.backend; |
ClassElement cls = backend.helpers.DynamicRuntimeType; |
- builder.push(new HDynamicType(type, new TypeMask.exact(cls, classWorld))); |
+ builder.push(new HDynamicType(type, new TypeMask.exact(cls, closedWorld))); |
} |
} |