Index: sdk/lib/_internal/compiler/implementation/resolution/members.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/resolution/members.dart b/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
index e6fd47862ac1280627bedfdbbf339ae86f10a11c..06a7c332d58720b86c26a8f871f2f6003a12c27e 100644 |
--- a/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
+++ b/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
@@ -2538,9 +2538,11 @@ class ResolverVisitor extends CommonResolverVisitor<Element> { |
// and only declaration elements may be registered. |
world.registerStaticUse(constructor.declaration); |
ClassElement cls = constructor.getEnclosingClass(); |
- // [cls] might be the implementation element and only declaration elements |
- // may be registered. |
- world.registerInstantiatedType(mapping.getType(node), mapping); |
+ InterfaceType type = mapping.getType(node); |
+ world.registerInstantiatedType(type, mapping); |
+ if (constructor.isFactoryConstructor() && !type.typeArguments.isEmpty) { |
+ compiler.enqueuer.resolution.registerFactoryWithTypeArguments(); |
ahe
2013/04/04 18:43:31
s/compiler.enqueuer.resolution/world/
karlklose
2013/04/08 09:45:12
Done.
|
+ } |
if (cls.isAbstract(compiler)) { |
compiler.backend.registerAbstractClassInstantiation(mapping); |
} |