[Low Level FIR] invocation of import resolve
diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirModuleLazyDeclarationResolver.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirModuleLazyDeclarationResolver.kt
index 54e64f1..02805de 100644
--- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirModuleLazyDeclarationResolver.kt
+++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/LLFirModuleLazyDeclarationResolver.kt
@@ -17,6 +17,7 @@
import org.jetbrains.kotlin.analysis.low.level.api.fir.transformers.LLFirLazyTransformerExecutor
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.checkCanceled
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.findSourceNonLocalFirDeclaration
+import org.jetbrains.kotlin.analysis.low.level.api.fir.util.getContainingFile
import org.jetbrains.kotlin.analysis.low.level.api.fir.util.withFirEntry
import org.jetbrains.kotlin.analysis.utils.errors.buildErrorWithAttachment
import org.jetbrains.kotlin.analysis.utils.errors.shouldIjPlatformExceptionBeRethrown
@@ -207,21 +208,6 @@
}
}
- private fun fastTrackForImportsPhase(
- firDeclarationToResolve: FirDeclaration,
- checkPCE: Boolean,
- ): Boolean {
- val provider = firDeclarationToResolve.moduleData.session.firProvider
- val firFile = when (firDeclarationToResolve) {
- is FirFile -> firDeclarationToResolve
- is FirCallableDeclaration -> provider.getFirCallableContainerFile(firDeclarationToResolve.symbol)
- is FirClassLikeDeclaration -> provider.getFirClassifierContainerFile(firDeclarationToResolve.symbol)
- else -> null
- } ?: return false
- resolveFileToImports(firFile, checkPCE)
- return true
- }
-
/**
* Run designated resolve only designation with fully resolved path (synchronized).
* Suitable for body resolve or/and on-air resolve.
@@ -250,9 +236,9 @@
) {
if (firDeclarationToResolve.resolvePhase >= toPhase) return
if (toPhase == FirResolvePhase.IMPORTS) {
- if (fastTrackForImportsPhase(firDeclarationToResolve, checkPCE)) {
- return
- }
+ val firFile = firDeclarationToResolve.getContainingFile() ?: return
+ resolveFileToImports(firFile, checkPCE)
+ return
}
if (firDeclarationToResolve is FirFile) {
lazyResolveFileDeclaration(firDeclarationToResolve, toPhase, scopeSession, checkPCE = checkPCE)