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); |
for (var type in cls.implementation.allSupertypes) { |
elements.add(type.element.implementation); |
} |