Refine types of type parameters before checking their equality in OverridingUtil

This commit is contained in:
Dmitry Savvinov
2020-09-25 13:25:51 +03:00
parent 80f4061a3d
commit ac107f362e
3 changed files with 40 additions and 21 deletions
@@ -322,7 +322,11 @@ public class OverridingUtil {
}
for (int i = 0; i < superValueParameters.size(); i++) {
if (!areTypesEquivalent(superValueParameters.get(i), subValueParameters.get(i), typeChecker)) {
if (!areTypesEquivalent(
kotlinTypeRefiner.refineType(superValueParameters.get(i)),
kotlinTypeRefiner.refineType(subValueParameters.get(i)),
typeChecker)
) {
return OverrideCompatibilityInfo.incompatible("Value parameter type mismatch");
}
}