[Analysis API] fix getScopeContextForFile and clarify its semantic

It was used to get importing scope, so it was renamed to getImportingScopeContext.

It was broken after changing the behaviour of `LowLevelFirApiFacadeForResolveOnAir.onAirGetTowerContextProvider` for the whole file

^KT-57966
This commit is contained in:
Ilya Kirillov
2023-05-01 12:25:36 +02:00
committed by Space Team
parent 254092a267
commit 20f921c0bf
4 changed files with 48 additions and 6 deletions
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithDeclaration
import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithMembers
import org.jetbrains.kotlin.analysis.api.types.KtType
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.LLFirResolveSession
import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirFile
import org.jetbrains.kotlin.analysis.utils.errors.unexpectedElementError
import org.jetbrains.kotlin.analysis.utils.printer.getElementTextInContext
import org.jetbrains.kotlin.fir.FirSession
@@ -170,6 +171,20 @@ internal class KtFirScopeProvider(
)?.let { convertToKtTypeScope(it) }
}
override fun getImportingScopeContext(file: KtFile): KtScopeContext {
val firFile = file.getOrBuildFirFile(firResolveSession)
val firFileSession = firFile.moduleData.session
val firImportingScopes = createImportingScopes(
firFile,
firFileSession,
analysisSession.getScopeSessionFor(firFileSession),
useCaching = true,
)
val ktScopesWithKinds = createScopesWithKind(firImportingScopes.withIndex())
return KtScopeContext(ktScopesWithKinds, _implicitReceivers = emptyList(), token)
}
override fun getScopeContextForPosition(
originalFile: KtFile,
positionInFakeFile: KtElement