Chromium Code Reviews| Index: compiler/java/com/google/dart/compiler/backend/js/analysis/DependencyComputer.java |
| diff --git a/compiler/java/com/google/dart/compiler/backend/js/analysis/DependencyComputer.java b/compiler/java/com/google/dart/compiler/backend/js/analysis/DependencyComputer.java |
| index 52884d714f7d833b11eb338642b98b3b61704234..ecf78d3e00eebfadeef2decfe12adf1ed4866ffa 100644 |
| --- a/compiler/java/com/google/dart/compiler/backend/js/analysis/DependencyComputer.java |
| +++ b/compiler/java/com/google/dart/compiler/backend/js/analysis/DependencyComputer.java |
| @@ -61,19 +61,25 @@ class DependencyComputer { |
| if (instantiatedClasses != null) { |
| for (JavascriptElement instantiatedClass : instantiatedClasses) { |
| instantiatedClass.setInstantiated(true); |
| - |
| + |
|
codefu
2011/11/30 23:43:33
nit; ws
mmendez
2011/12/01 21:31:30
Done.
|
| /* |
| * Whenever we see an instantiation we must check it and any super type for members that |
| - * match the virtual names seen to date. |
| + * match the virtual names seen to date and we must ensure that the corresponding inherits |
| + * get emitted. |
| */ |
| while (instantiatedClass != null) { |
| + JavascriptElement inheritsInvocation = instantiatedClass.getInheritsInvocation(); |
| + if (inheritsInvocation != null) { |
| + dependencies.add(inheritsInvocation); |
| + } |
| + |
| for (JavascriptElement member : instantiatedClass.getMembers()) { |
| if (virtualNames.contains(member.getName())) { |
| dependencies.add(member); |
| } |
| } |
| - instantiatedClass = instantiatedClass.getInherits(); |
| + instantiatedClass = instantiatedClass.getInheritsElement(); |
| } |
| } |
| } |