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

Unified Diff: pkg/compiler/lib/src/ssa/locals_handler.dart

Issue 2314703002: Split World usage into open, inference, and closed world. (Closed)
Patch Set: Updated cf. comments Created 4 years, 3 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
« no previous file with comments | « pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart ('k') | pkg/compiler/lib/src/ssa/nodes.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/ssa/locals_handler.dart
diff --git a/pkg/compiler/lib/src/ssa/locals_handler.dart b/pkg/compiler/lib/src/ssa/locals_handler.dart
index 581114a9493728c82089c59c6b88c7182d3aedab..26410783859d1f351c90968ae94dddc92cb32dd2 100644
--- a/pkg/compiler/lib/src/ssa/locals_handler.dart
+++ b/pkg/compiler/lib/src/ssa/locals_handler.dart
@@ -267,7 +267,7 @@ class LocalsHandler {
new SyntheticLocal('receiver', executableContext);
// Unlike `this`, receiver is nullable since direct calls to generative
// constructor call the constructor with `null`.
- ClassWorld classWorld = _compiler.world;
+ ClassWorld classWorld = _compiler.closedWorld;
HParameterValue value =
new HParameterValue(parameter, new TypeMask.exact(cls, classWorld));
builder.graph.explicitReceiverParameter = value;
@@ -625,15 +625,17 @@ class LocalsHandler {
if (result == null) {
ThisLocal local = closureData.thisLocal;
ClassElement cls = local.enclosingClass;
- ClassWorld classWorld = _compiler.world;
+ ClassWorld classWorld = _compiler.closedWorld;
if (classWorld.isUsedAsMixin(cls)) {
// If the enclosing class is used as a mixin, [:this:] can be
// of the class that mixins the enclosing class. These two
// classes do not have a subclass relationship, so, for
// simplicity, we mark the type as an interface type.
- result = new TypeMask.nonNullSubtype(cls.declaration, _compiler.world);
+ result =
+ new TypeMask.nonNullSubtype(cls.declaration, _compiler.closedWorld);
} else {
- result = new TypeMask.nonNullSubclass(cls.declaration, _compiler.world);
+ result = new TypeMask.nonNullSubclass(
+ cls.declaration, _compiler.closedWorld);
}
cachedTypeOfThis = result;
}
« no previous file with comments | « pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart ('k') | pkg/compiler/lib/src/ssa/nodes.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698