K1: fix IIOBE in expect-actual checker with different type parameter number

#KT-54827 Fixed
This commit is contained in:
Mikhail Glukhikh
2022-11-14 16:27:54 +01:00
committed by Space Team
parent c5e5140c08
commit 82f1535007
8 changed files with 71 additions and 3 deletions
@@ -80,9 +80,10 @@ object ExpectedActualResolver {
if (container is ClassDescriptor) {
val expectedClass = declaration.containingDeclaration as ClassDescriptor
// TODO: this might not work for members of inner generic classes
Substitutor(expectedClass.declaredTypeParameters, container.declaredTypeParameters)
}
else null
if (expectedClass.declaredTypeParameters.size == container.declaredTypeParameters.size) {
Substitutor(expectedClass.declaredTypeParameters, container.declaredTypeParameters)
} else null
} else null
areCompatibleCallables(declaration, actual, parentSubstitutor = substitutor)
}
}