Index: pkg/compiler/lib/src/resolution/class_hierarchy.dart |
diff --git a/pkg/compiler/lib/src/resolution/class_hierarchy.dart b/pkg/compiler/lib/src/resolution/class_hierarchy.dart |
index f5534a89b174106b0990b204e47111646861c8ae..81277db6d6279b342bc1083f428552acd316ff49 100644 |
--- a/pkg/compiler/lib/src/resolution/class_hierarchy.dart |
+++ b/pkg/compiler/lib/src/resolution/class_hierarchy.dart |
@@ -165,7 +165,7 @@ class ClassResolverVisitor extends TypeDefinitionVisitor { |
} else { |
ConstructorElement superConstructor = superMember; |
Selector callToMatch = new Selector.call("", element.library, 0); |
- superConstructor.computeSignature(compiler); |
+ superConstructor.computeType(compiler); |
if (!callToMatch.applies(superConstructor, compiler.world)) { |
MessageKind kind = MessageKind.NO_MATCHING_CONSTRUCTOR_FOR_IMPLICIT; |
compiler.reportError(node, kind); |
@@ -296,14 +296,15 @@ class ClassResolverVisitor extends TypeDefinitionVisitor { |
mixinApplication.supertypeLoadState = STATE_DONE; |
// Replace the synthetic type variables by the original type variables in |
// the returned type (which should be the type actually extended). |
- InterfaceType mixinThisType = mixinApplication.computeType(compiler); |
+ InterfaceType mixinThisType = mixinApplication.thisType; |
return mixinThisType.subst(element.typeVariables, |
mixinThisType.typeArguments); |
} |
bool isDefaultConstructor(FunctionElement constructor) { |
- return constructor.name == '' && |
- constructor.computeSignature(compiler).parameterCount == 0; |
+ if (constructor.name != '') return false; |
+ constructor.computeType(compiler); |
+ return constructor.functionSignature.parameterCount == 0; |
} |
FunctionElement createForwardingConstructor(ConstructorElement target, |