From 82589f2506018ff7ab91aa3953a90b32de918a85 Mon Sep 17 00:00:00 2001 From: Vladimir Sukharev Date: Tue, 11 Apr 2023 19:48:07 +0000 Subject: [PATCH] [K2/N] KT-57918: Support typealiases in FirClassSymbol<*>.selfOrAnySuperClass() Merge-request: KT-MR-9529 Merged-by: Vladimir Sukharev --- .../org/jetbrains/kotlin/backend/konan/FirObjCInterop.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirObjCInterop.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirObjCInterop.kt index 55d3b143df1..3f87c96a9c8 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirObjCInterop.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirObjCInterop.kt @@ -22,6 +22,7 @@ import org.jetbrains.kotlin.fir.scopes.processAllFunctions import org.jetbrains.kotlin.fir.scopes.scopeForClass import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope import org.jetbrains.kotlin.fir.symbols.SymbolInternals +import org.jetbrains.kotlin.fir.symbols.impl.FirClassLikeSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol import org.jetbrains.kotlin.fir.types.classId @@ -131,7 +132,11 @@ private fun FirClassSymbol<*>.isObjCClass(session: FirSession) = classId.package private fun FirClassSymbol<*>.selfOrAnySuperClass(session: FirSession, pred: (FirClassSymbol<*>) -> Boolean): Boolean = DFS.ifAny( listOf(this), - { current -> current.resolvedSuperTypes.mapNotNull { it.classId?.toSymbol(session) as? FirClassSymbol } }, + { current -> + current.resolvedSuperTypes.mapNotNull { + (it.classId?.toSymbol(session) as? FirClassLikeSymbol)?.fullyExpandedClass(session) + } + }, pred )