| Index: pkg/compiler/lib/src/world.dart
|
| diff --git a/pkg/compiler/lib/src/world.dart b/pkg/compiler/lib/src/world.dart
|
| index 976be1af27cfad76de27dd5f5c40a59d09686fe3..e89f221f5c7ff5f436def89337dcdf130122bb31 100644
|
| --- a/pkg/compiler/lib/src/world.dart
|
| +++ b/pkg/compiler/lib/src/world.dart
|
| @@ -275,13 +275,15 @@ abstract class OpenWorld implements ClassWorld {
|
| void registerUsedElement(Element element);
|
| void registerTypedef(TypedefElement typedef);
|
|
|
| - ClosedWorld populate();
|
| + ClosedWorld closeWorld();
|
|
|
| /// Returns an iterable over all mixin applications that mixin [cls].
|
| Iterable<MixinApplicationElement> allMixinUsesOf(ClassElement cls);
|
| }
|
|
|
| class WorldImpl implements ClosedWorld, ClosedWorldRefiner, OpenWorld {
|
| + bool _closed = false;
|
| +
|
| /// Cache of [FlatTypeMask]s grouped by the 8 possible values of the
|
| /// `FlatTypeMask.flags` property.
|
| List<Map<ClassElement, TypeMask>> canonicalizedTypeMasks =
|
| @@ -672,7 +674,7 @@ class WorldImpl implements ClosedWorld, ClosedWorldRefiner, OpenWorld {
|
|
|
| final Set<Element> alreadyPopulated;
|
|
|
| - bool get isClosed => _compiler.phase > Compiler.PHASE_RESOLVING;
|
| + bool get isClosed => _closed;
|
|
|
| // Used by selectors.
|
| bool isForeign(Element element) {
|
| @@ -792,7 +794,7 @@ class WorldImpl implements ClosedWorld, ClosedWorldRefiner, OpenWorld {
|
| }
|
| }
|
|
|
| - ClosedWorld populate() {
|
| + ClosedWorld closeWorld() {
|
| /// Updates the `isDirectlyInstantiated` and `isIndirectlyInstantiated`
|
| /// properties of the [ClassHierarchyNode] for [cls].
|
|
|
| @@ -828,6 +830,7 @@ class WorldImpl implements ClosedWorld, ClosedWorldRefiner, OpenWorld {
|
| // variables to the super constructor.
|
| _compiler.resolverWorld.directlyInstantiatedClasses.forEach(addSubtypes);
|
|
|
| + _closed = true;
|
| return this;
|
| }
|
|
|
|
|