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

Unified Diff: pkg/compiler/lib/src/native/enqueue.dart

Issue 1146813009: Introduce WorldImpact (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Rebased Created 5 years, 7 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/js_backend/codegen/glue.dart ('k') | pkg/compiler/lib/src/resolution/registry.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/native/enqueue.dart
diff --git a/pkg/compiler/lib/src/native/enqueue.dart b/pkg/compiler/lib/src/native/enqueue.dart
index 1f09444964683642d30b5160f49d568babbd501f..51041d535ec0c93939d9306743f82a1d4c1e3273 100644
--- a/pkg/compiler/lib/src/native/enqueue.dart
+++ b/pkg/compiler/lib/src/native/enqueue.dart
@@ -370,7 +370,9 @@ abstract class NativeEnqueuerBase implements NativeEnqueuer {
registeredClasses.add(classElement);
// TODO(ahe): Is this really a global dependency?
- world.registerInstantiatedClass(classElement, compiler.globalDependencies);
+ classElement.ensureResolved(compiler);
+ world.registerInstantiatedType(
+ classElement.rawType, compiler.globalDependencies);
// Also parse the node to know all its methods because otherwise it will
// only be parsed if there is a call to one of its constructors.
@@ -523,27 +525,30 @@ abstract class NativeEnqueuerBase implements NativeEnqueuer {
matchedTypeConstraints.add(type);
if (type is SpecialType) {
if (type == SpecialType.JsObject) {
- world.registerInstantiatedClass(compiler.objectClass, registry);
+ world.registerInstantiatedType(
+ compiler.coreTypes.objectType, registry);
}
continue;
}
if (type is InterfaceType) {
if (type.element == compiler.intClass) {
- world.registerInstantiatedClass(compiler.intClass, registry);
+ world.registerInstantiatedType(type, registry);
} else if (type.element == compiler.doubleClass) {
- world.registerInstantiatedClass(compiler.doubleClass, registry);
+ world.registerInstantiatedType(type, registry);
} else if (type.element == compiler.numClass) {
- world.registerInstantiatedClass(compiler.doubleClass, registry);
- world.registerInstantiatedClass(compiler.intClass, registry);
+ world.registerInstantiatedType(
+ compiler.coreTypes.doubleType, registry);
+ world.registerInstantiatedType(
+ compiler.coreTypes.intType, registry);
} else if (type.element == compiler.stringClass) {
- world.registerInstantiatedClass(compiler.stringClass, registry);
+ world.registerInstantiatedType(type, registry);
} else if (type.element == compiler.nullClass) {
- world.registerInstantiatedClass(compiler.nullClass, registry);
+ world.registerInstantiatedType(type, registry);
} else if (type.element == compiler.boolClass) {
- world.registerInstantiatedClass(compiler.boolClass, registry);
+ world.registerInstantiatedType(type, registry);
} else if (compiler.types.isSubtype(
type, backend.listImplementation.rawType)) {
- world.registerInstantiatedClass(type.element, registry);
+ world.registerInstantiatedType(type, registry);
}
}
assert(type is DartType);
« no previous file with comments | « pkg/compiler/lib/src/js_backend/codegen/glue.dart ('k') | pkg/compiler/lib/src/resolution/registry.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698