| Index: pkg/analyzer/lib/src/generated/error_verifier.dart
|
| diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
|
| index ec9559a0fee3b5cf31e84c344daf6d4ebb463e76..e1c8e11fb4ee511b3dae29e07ea27f9ddaaf1461 100644
|
| --- a/pkg/analyzer/lib/src/generated/error_verifier.dart
|
| +++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
|
| @@ -1312,13 +1312,8 @@ class ErrorVerifier extends RecursiveAstVisitor<Object> {
|
| isGetter = accessorElement.isGetter;
|
| isSetter = accessorElement.isSetter;
|
| }
|
| - String executableElementName = executableElement.name;
|
| FunctionType overridingFT = executableElement.type;
|
| FunctionType overriddenFT = overriddenExecutable.type;
|
| - InterfaceType enclosingType = _enclosingClass.type;
|
| - overriddenFT = _inheritanceManager
|
| - .substituteTypeArgumentsInMemberFromInheritance(
|
| - overriddenFT, executableElementName, enclosingType);
|
| if (overridingFT == null || overriddenFT == null) {
|
| return false;
|
| }
|
| @@ -4483,15 +4478,7 @@ class ErrorVerifier extends RecursiveAstVisitor<Object> {
|
| // method, so skip it.
|
| if ((elt is MethodElement && !elt.isAbstract) ||
|
| (elt is PropertyAccessorElement && !elt.isAbstract)) {
|
| - // Since we are comparing two function types, we need to do the
|
| - // appropriate type substitutions first ().
|
| - FunctionType foundConcreteFT = _inheritanceManager
|
| - .substituteTypeArgumentsInMemberFromInheritance(
|
| - concreteType, memberName, enclosingType);
|
| - FunctionType requiredMemberFT = _inheritanceManager
|
| - .substituteTypeArgumentsInMemberFromInheritance(
|
| - requiredMemberType, memberName, enclosingType);
|
| - if (_typeSystem.isSubtypeOf(foundConcreteFT, requiredMemberFT)) {
|
| + if (_typeSystem.isSubtypeOf(concreteType, requiredMemberType)) {
|
| continue;
|
| }
|
| }
|
|
|