Index: pkg/compiler/lib/src/resolution/members.dart |
diff --git a/pkg/compiler/lib/src/resolution/members.dart b/pkg/compiler/lib/src/resolution/members.dart |
index 45e381d42e3c85df0775b152a48f891d841c63f8..3b5c430bada9414d9154c3939d7a5c7333f6504b 100644 |
--- a/pkg/compiler/lib/src/resolution/members.dart |
+++ b/pkg/compiler/lib/src/resolution/members.dart |
@@ -1569,7 +1569,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> { |
case AccessKind.SUPER_METHOD: |
MethodElement superMethod = semantics.element; |
superMethod.computeType(resolution); |
- if (!callStructure.signatureApplies(superMethod.type)) { |
+ if (!callStructure.signatureApplies(superMethod.parameterStructure)) { |
registry.registerFeature(Feature.THROW_NO_SUCH_METHOD); |
registry.registerDynamicUse(new DynamicUse(selector, null)); |
registry.registerFeature(Feature.SUPER_NO_SUCH_METHOD); |
@@ -2503,7 +2503,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> { |
case AccessKind.LOCAL_FUNCTION: |
LocalFunctionElementX function = semantics.element; |
function.computeType(resolution); |
- if (!callStructure.signatureApplies(function.type)) { |
+ if (!callStructure.signatureApplies(function.parameterStructure)) { |
registry.registerFeature(Feature.THROW_NO_SUCH_METHOD); |
registry.registerDynamicUse(new DynamicUse(selector, null)); |
isIncompatibleInvoke = true; |
@@ -2672,7 +2672,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> { |
case AccessKind.TOPLEVEL_METHOD: |
MethodElement method = semantics.element; |
method.computeType(resolution); |
- if (!callStructure.signatureApplies(method.type)) { |
+ if (!callStructure.signatureApplies(method.parameterStructure)) { |
registry.registerFeature(Feature.THROW_NO_SUCH_METHOD); |
registry.registerDynamicUse(new DynamicUse(selector, null)); |
isIncompatibleInvoke = true; |
@@ -3859,7 +3859,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> { |
case ConstructorResultKind.GENERATIVE: |
// Ensure that the signature of [constructor] has been computed. |
constructor.computeType(resolution); |
- if (!callStructure.signatureApplies(constructor.type)) { |
+ if (!callStructure.signatureApplies(constructor.parameterStructure)) { |
isInvalid = true; |
kind = ConstructorAccessKind.INCOMPATIBLE; |
registry.registerFeature(Feature.THROW_NO_SUCH_METHOD); |
@@ -3870,7 +3870,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> { |
case ConstructorResultKind.FACTORY: |
// Ensure that the signature of [constructor] has been computed. |
constructor.computeType(resolution); |
- if (!callStructure.signatureApplies(constructor.type)) { |
+ if (!callStructure.signatureApplies(constructor.parameterStructure)) { |
// The effective target might still be valid(!) so the is not an |
// invalid case in itself. For instance |
// |