Index: dart/sdk/lib/_internal/compiler/implementation/native_handler.dart |
diff --git a/dart/sdk/lib/_internal/compiler/implementation/native_handler.dart b/dart/sdk/lib/_internal/compiler/implementation/native_handler.dart |
index 0d5b23273d5ec3a1c73167ca82bdc635ed438dbe..316e6d9442cf5c67291564d6540b87e0840f47f5 100644 |
--- a/dart/sdk/lib/_internal/compiler/implementation/native_handler.dart |
+++ b/dart/sdk/lib/_internal/compiler/implementation/native_handler.dart |
@@ -218,7 +218,7 @@ abstract class NativeEnqueuerBase implements NativeEnqueuer { |
pendingClasses.remove(classElement); |
registeredClasses.add(classElement); |
- world.registerInstantiatedClass(classElement); |
+ world.registerInstantiatedClass(classElement, 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. |
@@ -322,26 +322,35 @@ abstract class NativeEnqueuerBase implements NativeEnqueuer { |
matchedTypeConstraints.add(type); |
if (type is SpecialType) { |
if (type == SpecialType.JsArray) { |
- world.registerInstantiatedClass(compiler.listClass); |
+ world.registerInstantiatedClass(compiler.listClass, |
+ compiler.globalDependencies); |
} else if (type == SpecialType.JsObject) { |
- world.registerInstantiatedClass(compiler.objectClass); |
+ world.registerInstantiatedClass(compiler.objectClass, |
+ compiler.globalDependencies); |
} |
continue; |
} |
if (type is InterfaceType) { |
if (type.element == compiler.intClass) { |
- world.registerInstantiatedClass(compiler.intClass); |
+ world.registerInstantiatedClass( |
+ compiler.intClass, compiler.globalDependencies); |
} else if (type.element == compiler.doubleClass) { |
- world.registerInstantiatedClass(compiler.doubleClass); |
+ world.registerInstantiatedClass( |
+ compiler.doubleClass, compiler.globalDependencies); |
} else if (type.element == compiler.numClass) { |
- world.registerInstantiatedClass(compiler.doubleClass); |
- world.registerInstantiatedClass(compiler.intClass); |
+ world.registerInstantiatedClass( |
+ compiler.doubleClass, compiler.globalDependencies); |
+ world.registerInstantiatedClass( |
+ compiler.intClass, compiler.globalDependencies); |
} else if (type.element == compiler.stringClass) { |
- world.registerInstantiatedClass(compiler.stringClass); |
+ world.registerInstantiatedClass( |
+ compiler.stringClass, compiler.globalDependencies); |
} else if (type.element == compiler.nullClass) { |
- world.registerInstantiatedClass(compiler.nullClass); |
+ world.registerInstantiatedClass( |
+ compiler.nullClass, compiler.globalDependencies); |
} else if (type.element == compiler.boolClass) { |
- world.registerInstantiatedClass(compiler.boolClass); |
+ world.registerInstantiatedClass( |
+ compiler.boolClass, compiler.globalDependencies); |
} |
} |
assert(type is DartType); |