Index: sdk/lib/_internal/compiler/implementation/ssa/builder.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/ssa/builder.dart b/sdk/lib/_internal/compiler/implementation/ssa/builder.dart |
index 332648302db14261ebbf283dddf530620be415d7..c495962b86ca07f16a3afdd979ddd8e9bf8873ab 100644 |
--- a/sdk/lib/_internal/compiler/implementation/ssa/builder.dart |
+++ b/sdk/lib/_internal/compiler/implementation/ssa/builder.dart |
@@ -1347,6 +1347,10 @@ class SsaBuilder extends ResolvedVisitor implements Visitor { |
// type parameters. Those values are in the [supertype] |
// declaration of [subclass]. |
ClassElement subclass = inlinedFromElement.getEnclosingClass(); |
+ // If [inlinedFromElement] is generative constructor [superclass] is a |
karlklose
2013/07/05 06:31:34
'is a' and a comma or 'then' after constructor (al
Johnni Winther
2013/07/05 07:11:24
Done.
|
+ // a superclass of [subclass]. If [inlinedFromElement] is a redirecting |
+ // constructor [superclass] is the same as [subclass]. Using |
+ // [DartType.asInstanceOf] handles both these cases. |
InterfaceType supertype = subclass.thisType.asInstanceOf(superclass); |
Link<DartType> typeVariables = superclass.typeVariables; |
supertype.typeArguments.forEach((DartType argument) { |