Chromium Code Reviews| Index: dart/sdk/lib/_internal/compiler/implementation/deferred_load.dart |
| diff --git a/dart/sdk/lib/_internal/compiler/implementation/deferred_load.dart b/dart/sdk/lib/_internal/compiler/implementation/deferred_load.dart |
| index 31abe4373f71efcd57341bf449bba1c922d71ea9..0f0e943e5fe43f4113956a7b67d489c2c668de85 100644 |
| --- a/dart/sdk/lib/_internal/compiler/implementation/deferred_load.dart |
| +++ b/dart/sdk/lib/_internal/compiler/implementation/deferred_load.dart |
| @@ -165,7 +165,8 @@ class DeferredLoadTask extends CompilerTask { |
| if (element.isGenerativeConstructor()) { |
| // When instantiating a class, we record a reference to the |
| // constructor, not the class itself. |
|
ngeoffray
2013/05/14 07:17:38
Update comment.
ahe
2013/05/14 10:01:24
I extended the comment. It is not wrong.
|
| - element = element.getEnclosingClass().implementation; |
| + result.addAll( |
| + allElementsResolvedFrom(element.getEnclosingClass().implementation)); |
| } |
| if (element.isClass()) { |
| // If we see a class, add everything its instance members refer |
| @@ -187,7 +188,9 @@ class DeferredLoadTask extends CompilerTask { |
| result.add(type.element.implementation); |
| } |
| result.add(cls.implementation); |
| - } else if (Elements.isStaticOrTopLevel(element)) { |
| + } else if (Elements.isStaticOrTopLevel(element) |
| + || element.isConstructor() |
| + || element.isGenerativeConstructorBody()) { |
|
ngeoffray
2013/05/14 07:17:38
Are you really seeing generative constructor bodie
ahe
2013/05/14 10:01:24
I don't think I saw generative constructor bodies.
|
| result.addAll(DependencyCollector.collect(element, compiler)); |
| } |
| // Other elements, in particular instance members, are ignored as |
| @@ -248,7 +251,7 @@ class DependencyCollector extends Visitor { |
| visitNode(Node node) { |
| node.visitChildren(this); |
| Element dependency = elements[node]; |
| - if (dependency == null) return; |
| + if (Elements.isUnresolved(dependency)) return; |
| dependencies.add(dependency.implementation); |
| } |