Chromium Code Reviews| Index: sdk/lib/_internal/compiler/implementation/enqueue.dart |
| diff --git a/sdk/lib/_internal/compiler/implementation/enqueue.dart b/sdk/lib/_internal/compiler/implementation/enqueue.dart |
| index 615ffe8e2e10cc9b308168fa6887986d89af11b9..bf3591d5dd277024a16461abc67e65cbeae728a9 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/enqueue.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/enqueue.dart |
| @@ -87,11 +87,9 @@ abstract class Enqueuer { |
| bool addElementToWorkList(Element element, [TreeElements elements]); |
| void registerInstantiatedType(InterfaceType type) { |
| + ClassElement cls = type.element; |
| + cls.ensureResolved(compiler); |
| universe.instantiatedTypes.add(type); |
| - registerInstantiatedClass(type.element); |
| - } |
| - |
| - void registerInstantiatedClass(ClassElement cls) { |
| if (universe.instantiatedClasses.contains(cls)) return; |
| if (!cls.isAbstract(compiler)) { |
| universe.instantiatedClasses.add(cls); |
| @@ -100,6 +98,11 @@ abstract class Enqueuer { |
| compiler.backend.registerInstantiatedClass(cls, this); |
| } |
| + void registerInstantiatedClass(ClassElement cls) { |
|
ngeoffray
2013/03/05 10:14:10
Remove this method?
karlklose
2013/03/05 11:34:30
It still serves as a convenient method to register
|
| + cls.ensureResolved(compiler); |
| + registerInstantiatedType(cls.rawType); |
| + } |
| + |
| bool checkNoEnqueuedInvokedInstanceMethods() { |
| task.measure(() { |
| // Run through the classes and see if we need to compile methods. |