K2: prevent infinite recursion in findJavaSuperClass #KT-55078 Fixed
This commit is contained in:
committed by
Space Team
parent
352fd5356e
commit
36d6e6dd06
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.fir.scopes.impl.*
|
||||
import org.jetbrains.kotlin.fir.scopes.scopeForSupertype
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||
import org.jetbrains.kotlin.fir.types.constructClassLikeType
|
||||
import org.jetbrains.kotlin.fir.types.isAny
|
||||
import org.jetbrains.kotlin.name.StandardClassIds
|
||||
import org.jetbrains.kotlin.utils.DFS
|
||||
|
||||
@@ -157,6 +158,7 @@ object JavaScopeProvider : FirScopeProvider() {
|
||||
|
||||
private tailrec fun FirRegularClass.findJavaSuperClass(useSiteSession: FirSession): FirRegularClass? {
|
||||
val superClass = superConeTypes.firstNotNullOfOrNull {
|
||||
if (it.isAny) return@firstNotNullOfOrNull null
|
||||
(it.lookupTag.toSymbol(useSiteSession)?.fir as? FirRegularClass)?.takeIf { superClass ->
|
||||
superClass.classKind == ClassKind.CLASS
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user