Index: pkg/compiler/lib/src/enqueue.dart |
diff --git a/pkg/compiler/lib/src/enqueue.dart b/pkg/compiler/lib/src/enqueue.dart |
index 878898901aba49ba6a578f5d85432b67fa733d21..39ec4385cefbe2da7670472c8ccf54acd43ac9a7 100644 |
--- a/pkg/compiler/lib/src/enqueue.dart |
+++ b/pkg/compiler/lib/src/enqueue.dart |
@@ -178,19 +178,15 @@ abstract class Enqueuer { |
task.measure(() { |
ClassElement cls = type.element; |
cls.ensureResolved(resolution); |
- bool isNative = compiler.backend.isNative(cls); |
universe.registerTypeInstantiation( |
type, |
- isNative: isNative, |
+ isNative: compiler.backend.isNative(cls), |
byMirrors: mirrorUsage, |
onImplemented: (ClassElement cls) { |
compiler.backend.registerImplementedClass( |
cls, this, compiler.globalDependencies); |
}); |
- // TODO(johnniwinther): Share this reasoning with [Universe]. |
- if (!cls.isAbstract || isNative || mirrorUsage) { |
- processInstantiatedClass(cls); |
- } |
+ processInstantiatedClass(cls); |
}); |
} |
@@ -339,10 +335,9 @@ abstract class Enqueuer { |
superclass, this, compiler.globalDependencies); |
} |
- ClassElement superclass = cls; |
- while (superclass != null) { |
- processClass(superclass); |
- superclass = superclass.superclass; |
+ while (cls != null) { |
+ processClass(cls); |
+ cls = cls.superclass; |
} |
}); |
} |