| Index: pkg/compiler/lib/src/elements/modelx.dart
|
| diff --git a/pkg/compiler/lib/src/elements/modelx.dart b/pkg/compiler/lib/src/elements/modelx.dart
|
| index 964cb741f3ed68b3d23340319d8c771fd1c40845..6ea3bb0348ab96aa4d497b4a79b9b1aaf2ece015 100644
|
| --- a/pkg/compiler/lib/src/elements/modelx.dart
|
| +++ b/pkg/compiler/lib/src/elements/modelx.dart
|
| @@ -2142,6 +2142,7 @@ class SynthesizedConstructorElementX extends ConstructorElementX {
|
| Modifiers.EMPTY,
|
| enclosing) {
|
| typeCache = new FunctionType.synthesized(enclosingClass.thisType);
|
| + functionSignatureCache = new FunctionSignatureX(type: type);
|
| }
|
|
|
| FunctionExpression parseNode(DiagnosticListener listener) => null;
|
| @@ -2166,18 +2167,16 @@ class SynthesizedConstructorElementX extends ConstructorElementX {
|
|
|
| FunctionSignature computeSignature(compiler) {
|
| if (functionSignatureCache != null) return functionSignatureCache;
|
| - if (isDefaultConstructor) {
|
| - return functionSignatureCache = new FunctionSignatureX(
|
| - type: type);
|
| - }
|
| if (definingConstructor.isErroneous) {
|
| return functionSignatureCache =
|
| compiler.objectClass.localLookup('').computeSignature(compiler);
|
| }
|
| // TODO(johnniwinther): Ensure that the function signature (and with it the
|
| // function type) substitutes type variables correctly.
|
| - return functionSignatureCache =
|
| - definingConstructor.computeSignature(compiler);
|
| + definingConstructor.computeType(compiler);
|
| + functionSignatureCache = definingConstructor.functionSignature;
|
| + typeCache = definingConstructor.type;
|
| + return functionSignatureCache;
|
| }
|
|
|
| accept(ElementVisitor visitor, arg) {
|
|
|