| Index: sdk/lib/_internal/compiler/implementation/ssa/codegen.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (revision 22306)
|
| +++ sdk/lib/_internal/compiler/implementation/ssa/codegen.dart (working copy)
|
| @@ -1693,13 +1693,11 @@
|
| }
|
|
|
| void registerForeignType(HType type) {
|
| - // TODO(kasperl): This looks shaky. It makes sense if the type is
|
| - // exact, but otherwise we should be registering more types as
|
| - // instantiated. We should find a way of using something along the
|
| - // lines of the NativeEnqueuerBase.processNativeBehavior method.
|
| if (type.isUnknown()) return;
|
| TypeMask mask = type.computeMask(compiler);
|
| - world.registerInstantiatedClass(mask.base.element, work.resolutionTree);
|
| + for (ClassElement cls in mask.containedClasses(compiler)) {
|
| + world.registerInstantiatedClass(cls, work.resolutionTree);
|
| + }
|
| }
|
|
|
| visitForeign(HForeign node) {
|
|
|