Chromium Code Reviews| 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 7e069cc75aee3c54f8305815a103efd8c969c919..db623942fdae10e3ca992f2280119136526370ec 100644 |
| --- a/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
| +++ b/sdk/lib/_internal/compiler/implementation/resolution/members.dart |
| @@ -2427,7 +2427,11 @@ class ResolverVisitor extends CommonResolverVisitor<Element> { |
| ClassElement cls = constructor.defaultImplementation.getEnclosingClass(); |
| // [cls] might be the implementation element and only declaration elements |
| // may be registered. |
| - world.registerInstantiatedClass(cls.declaration); |
| + DartType type = mapping.getType(node); |
| + world.registerInstantiatedType(type); |
| + if (type.containsTypeVariable) { |
| + compiler.backend.registerGetRuntimeTypeArgument(); |
|
ngeoffray
2013/02/27 12:36:28
Why? If there is no is check, there is no need for
karlklose
2013/02/27 16:11:32
Obsolete.
|
| + } |
| if (cls.isAbstract(compiler)) { |
| compiler.backend.registerAbstractClassInstantiation(); |
| } |
| @@ -2497,9 +2501,7 @@ class ResolverVisitor extends CommonResolverVisitor<Element> { |
| analyzeTypeArgument(type, argument); |
| }); |
| } |
| - // TODO(ngeoffray): Also handle cases like: |
| - // 1) a is T |
| - // 2) T a (in checked mode). |
| + // TODO(ngeoffray): Also handle T a (in checked mode). |
| } |
| return type; |
| } |