| Index: pkg/compiler/lib/src/universe/universe.dart
|
| diff --git a/pkg/compiler/lib/src/universe/universe.dart b/pkg/compiler/lib/src/universe/universe.dart
|
| index 8af776327ee76c2076205e910b6ce06ba9ed8eb6..28715e6ddba336b3e180fc36065124cf2f6bd00f 100644
|
| --- a/pkg/compiler/lib/src/universe/universe.dart
|
| +++ b/pkg/compiler/lib/src/universe/universe.dart
|
| @@ -421,9 +421,7 @@ class CallStructure {
|
| return match(other);
|
| }
|
|
|
| - bool signatureApplies(FunctionElement function) {
|
| - if (Elements.isUnresolved(function)) return false;
|
| - FunctionSignature parameters = function.functionSignature;
|
| + bool signatureApplies(FunctionSignature parameters) {
|
| if (argumentCount > parameters.parameterCount) return false;
|
| int requiredParameterCount = parameters.requiredParameterCount;
|
| int optionalParameterCount = parameters.optionalParameterCount;
|
| @@ -529,6 +527,9 @@ class CallStructure {
|
| ConstructorElement callee,
|
| /*T*/ compileArgument(ParameterElement element),
|
| /*T*/ compileConstant(ParameterElement element)) {
|
| + assert(invariant(caller, !callee.isErroneous,
|
| + message: "Cannot compute arguments to erroneous constructor: "
|
| + "$caller calling $callee."));
|
|
|
| FunctionSignature signature = caller.functionSignature;
|
| Map<Node, ParameterElement> mapping = <Node, ParameterElement>{};
|
| @@ -572,7 +573,7 @@ class CallStructure {
|
| }
|
| CallStructure callStructure =
|
| new CallStructure(signature.parameterCount, namedParameters);
|
| - if (!callStructure.signatureApplies(callee)) {
|
| + if (!callStructure.signatureApplies(signature)) {
|
| return false;
|
| }
|
| list.addAll(callStructure.makeArgumentsList(
|
| @@ -853,7 +854,8 @@ class Selector {
|
| }
|
|
|
| bool signatureApplies(FunctionElement function) {
|
| - return callStructure.signatureApplies(function);
|
| + if (Elements.isUnresolved(function)) return false;
|
| + return callStructure.signatureApplies(function.functionSignature);
|
| }
|
|
|
| bool sameNameHack(Element element, World world) {
|
|
|