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 3213f9f52dfbaad0b5fd6e5ee88e0e7c20b1916d..92aa9094704093940ddfadfaed6d0a290a0a39e0 100644 |
| --- a/pkg/compiler/lib/src/deferred_load.dart |
| +++ b/pkg/compiler/lib/src/deferred_load.dart |
| @@ -280,6 +280,19 @@ class DeferredLoadTask extends CompilerTask { |
| elements.add(dependency); |
| } |
| + |
| + treeElements.forEachType((n, t) { |
| + registerTypeArgumentsAsDependencies(type) { |
|
floitsch
2015/07/17 09:22:25
Especially for nested functions I want to have a r
Siggi Cherem (dart-lang)
2015/07/17 15:34:48
Done.
|
| + var dependency = type.element; |
|
floitsch
2015/07/17 09:22:25
We usually don't use "var".
Siggi Cherem (dart-lang)
2015/07/17 15:34:49
Done.
|
| + if (dependency == null || dependency.isTypeVariable) return; |
| + elements.add(dependency); |
| + if (type is GenericType) { |
| + type.typeArguments.forEach(registerTypeArgumentsAsDependencies); |
| + } |
| + } |
| + if (n is NewExpression) registerTypeArgumentsAsDependencies(t); |
| + }); |
| + |
| treeElements.forEachConstantNode((Node node, _) { |
| // Explicitly depend on the backend constants. |
| ConstantValue value = |