[LL FIR] KtFirVisibilityChecker: use getOrBuildFirSafe instead of resolveToFirSymbol againg

It is unexpected, but getOrBuildFirSafe here now works better than resolveToFirSymbol

^KT-59266
^KT-59453 Fixed
This commit is contained in:
Dmitrii Gridin
2023-06-17 11:44:17 +02:00
committed by Space Team
parent 72c625906f
commit 8cdba7b9e7
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtFileSymbol
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithVisibility
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.collectDesignation
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirSafe
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.resolveToFirSymbol
import org.jetbrains.kotlin.analysis.utils.printer.parentsOfType
import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.java.JavaVisibilities
@@ -116,7 +115,8 @@ internal class KtFirVisibilityChecker(
private fun collectContainingDeclarations(position: PsiElement): List<FirDeclaration> {
val nonLocalContainer = findContainingNonLocalDeclaration(position)
val nonLocalContainerFir = nonLocalContainer?.resolveToFirSymbol(analysisSession.firResolveSession)?.fir ?: return emptyList()
val nonLocalContainerFir = nonLocalContainer?.getOrBuildFirSafe<FirDeclaration>(analysisSession.firResolveSession)
?: return emptyList()
val designation = nonLocalContainerFir.collectDesignation()