[FIR][K/N] Get rid of SymbolInternals in FirObjCInterop

This commit is contained in:
Vladimir Sukharev
2024-01-12 16:18:13 +01:00
committed by Space Team
parent 37e9062fcc
commit 07938205bc
10 changed files with 35 additions and 42 deletions
@@ -34,6 +34,20 @@ fun FirClassLikeDeclaration.getContainingDeclaration(session: FirSession): FirCl
return null
}
fun FirClassLikeSymbol<out FirClassLikeDeclaration>.getContainingDeclaration(session: FirSession): FirClassLikeSymbol<out FirClassLikeDeclaration>? {
if (isLocal) {
return (this as? FirRegularClassSymbol)?.containingClassForLocalAttr?.toFirRegularClassSymbol(session)
} else {
val parentId = classId.relativeClassName.parent()
if (!parentId.isRoot) {
val containingDeclarationId = ClassId(classId.packageFqName, parentId, isLocal = false)
return session.symbolProvider.getClassLikeSymbolByClassId(containingDeclarationId)
}
}
return null
}
fun isValidTypeParameterFromOuterDeclaration(
typeParameterSymbol: FirTypeParameterSymbol,
declaration: FirDeclaration?,