Chromium Code Reviews| Index: pkg/compiler/lib/src/deferred_load.dart |
| diff --git a/pkg/compiler/lib/src/deferred_load.dart b/pkg/compiler/lib/src/deferred_load.dart |
| index d2c8ddb0851878b68eebac019dad558a777309c3..49e16687977ad86d65fd93309eb08740a814f6c7 100644 |
| --- a/pkg/compiler/lib/src/deferred_load.dart |
| +++ b/pkg/compiler/lib/src/deferred_load.dart |
| @@ -420,7 +420,7 @@ class DeferredLoadTask extends CompilerTask { |
| // If we see a class, add everything its live instance members refer |
| // to. Static members are not relevant, unless we are processing |
| // extra dependencies due to mirrors. |
| - void addLiveInstanceMember(Element element) { |
| + void addLiveInstanceMember(_, Element element) { |
| if (!compiler.enqueuer.resolution.hasBeenProcessed(element)) return; |
| if (!isMirrorUsage && !element.isInstanceMember) return; |
| elements.add(element); |
| @@ -428,11 +428,7 @@ class DeferredLoadTask extends CompilerTask { |
| } |
| ClassElement cls = element.declaration; |
| - cls.forEachLocalMember(addLiveInstanceMember); |
| - if (cls.implementation != cls) { |
| - // TODO(ahe): Why doesn't ClassElement.forEachLocalMember do this? |
| - cls.implementation.forEachLocalMember(addLiveInstanceMember); |
| - } |
| + cls.implementation.forEachMember(addLiveInstanceMember); |
|
Johnni Winther
2016/12/07 10:28:04
Avoid calling [ResolutionEnqueuer.hasBeenProcessed
|
| for (var type in cls.implementation.allSupertypes) { |
| elements.add(type.element.implementation); |
| } |