| 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
|
| //
|
|
|