FIR: set substituteTypes value explicitly in some lookupSupertypes calls

This commit is contained in:
Mikhail Glukhikh
2021-10-19 12:50:35 +03:00
parent 7fc19520a5
commit 3483bc41fd
3 changed files with 6 additions and 3 deletions
@@ -237,7 +237,8 @@ abstract class FirVisibilityChecker : FirSessionComponent {
private fun FirClass.isSubClass(ownerLookupTag: ConeClassLikeLookupTag, session: FirSession): Boolean {
if (classId.isSame(ownerLookupTag.classId)) return true
return lookupSuperTypes(this, lookupInterfaces = true, deep = true, session).any { superType ->
return lookupSuperTypes(this, lookupInterfaces = true, deep = true, session, substituteTypes = false).any { superType ->
// Note: We check just classId here, so type substitution isn't needed ^ (we aren't interested in type arguments)
(superType as? ConeClassLikeType)?.fullyExpandedType(session)?.lookupTag?.classId?.isSame(ownerLookupTag.classId) == true
}
}