[FIR IDE] Remove session scope default parameter from lazy resolve interface
This commit is contained in:
+4
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirPsiDiagnostic
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.realPsi
|
||||
import org.jetbrains.kotlin.fir.resolve.symbolProvider
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo
|
||||
import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo
|
||||
import org.jetbrains.kotlin.idea.caches.project.getModuleInfo
|
||||
@@ -108,6 +109,7 @@ internal class FirModuleResolveStateImpl(
|
||||
|
||||
firLazyDeclarationResolver.lazyResolveDeclaration(
|
||||
firDeclarationToResolve = nonLocalFirForNamedDeclaration,
|
||||
scopeSession = ScopeSession(),
|
||||
moduleFileCache = (nonLocalFirForNamedDeclaration.moduleData.session as FirIdeSourcesSession).cache,
|
||||
toPhase = FirResolvePhase.BODY_RESOLVE,
|
||||
checkPCE = false, /*TODO*/
|
||||
@@ -150,6 +152,7 @@ internal class FirModuleResolveStateImpl(
|
||||
firLazyDeclarationResolver.lazyResolveDeclaration(
|
||||
firDeclarationToResolve = declaration,
|
||||
moduleFileCache = fileCache,
|
||||
scopeSession = ScopeSession(),
|
||||
toPhase = toPhase,
|
||||
checkPCE = true,
|
||||
)
|
||||
@@ -165,6 +168,7 @@ internal class FirModuleResolveStateImpl(
|
||||
firLazyDeclarationResolver.lazyResolveDeclaration(
|
||||
firDeclaration = declaration,
|
||||
moduleFileCache = fileCache,
|
||||
scopeSession = ScopeSession(),
|
||||
toResolveType = type,
|
||||
checkPCE = true,
|
||||
)
|
||||
|
||||
+2
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.fir.low.level.api
|
||||
import org.jetbrains.kotlin.fir.ThreadSafeMutableState
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.resolve.transformers.FirPhaseManager
|
||||
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||
import org.jetbrains.kotlin.idea.fir.low.level.api.file.builder.ModuleFileCache
|
||||
@@ -30,6 +31,7 @@ internal class IdeFirPhaseManager(
|
||||
lazyDeclarationResolver.lazyResolveDeclaration(
|
||||
firDeclarationToResolve = fir,
|
||||
moduleFileCache = cache,
|
||||
scopeSession = ScopeSession(),
|
||||
toPhase = requiredPhase,
|
||||
checkPCE = true
|
||||
)
|
||||
|
||||
+1
@@ -138,6 +138,7 @@ object LowLevelFirApiFacadeForResolveOnAir {
|
||||
state.firLazyDeclarationResolver.lazyResolveFileDeclaration(
|
||||
firFile = firFile,
|
||||
moduleFileCache = session.cache,
|
||||
scopeSession = ScopeSession(),
|
||||
toPhase = FirResolvePhase.IMPORTS
|
||||
)
|
||||
|
||||
|
||||
+1
@@ -119,6 +119,7 @@ internal class FileStructure private constructor(
|
||||
firLazyDeclarationResolver.lazyResolveDeclaration(
|
||||
firDeclarationToResolve = firDeclaration,
|
||||
moduleFileCache = moduleFileCache,
|
||||
scopeSession = ScopeSession(),
|
||||
toPhase = FirResolvePhase.BODY_RESOLVE,
|
||||
checkPCE = true,
|
||||
)
|
||||
|
||||
+5
-2
@@ -9,6 +9,7 @@ import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.psi
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol
|
||||
@@ -120,7 +121,7 @@ internal class ReanalyzableFunctionStructureElement(
|
||||
val originalFunction = firSymbol.fir as FirSimpleFunction
|
||||
val designation = originalFunction.collectDesignation()
|
||||
|
||||
val temporaryFunction = RawFirNonLocalDeclarationBuilder.buildWithRebind(
|
||||
val temporaryFunction = RawFirNonLocalDeclarationBuilder.buildWithFunctionSymbolRebind(
|
||||
session = originalFunction.moduleData.session,
|
||||
scopeProvider = originalFunction.moduleData.session.firIdeProvider.kotlinScopeProvider,
|
||||
designation = designation,
|
||||
@@ -142,6 +143,7 @@ internal class ReanalyzableFunctionStructureElement(
|
||||
firLazyDeclarationResolver.lazyResolveDeclaration(
|
||||
firDeclarationToResolve = originalFunction,
|
||||
moduleFileCache = cache,
|
||||
scopeSession = ScopeSession(),
|
||||
toPhase = FirResolvePhase.BODY_RESOLVE,
|
||||
checkPCE = true,
|
||||
declarationPhaseDowngraded = true,
|
||||
@@ -176,7 +178,7 @@ internal class ReanalyzablePropertyStructureElement(
|
||||
val originalProperty = firSymbol.fir
|
||||
val designation = originalProperty.collectDesignation()
|
||||
|
||||
val temporaryProperty = RawFirNonLocalDeclarationBuilder.buildWithRebind(
|
||||
val temporaryProperty = RawFirNonLocalDeclarationBuilder.buildWithFunctionSymbolRebind(
|
||||
session = originalProperty.moduleData.session,
|
||||
scopeProvider = originalProperty.moduleData.session.firIdeProvider.kotlinScopeProvider,
|
||||
designation = designation,
|
||||
@@ -201,6 +203,7 @@ internal class ReanalyzablePropertyStructureElement(
|
||||
firLazyDeclarationResolver.lazyResolveDeclaration(
|
||||
firDeclarationToResolve = originalProperty,
|
||||
moduleFileCache = cache,
|
||||
scopeSession = ScopeSession(),
|
||||
toPhase = FirResolvePhase.BODY_RESOLVE,
|
||||
checkPCE = true,
|
||||
declarationPhaseDowngraded = true,
|
||||
|
||||
+3
-3
@@ -34,7 +34,7 @@ internal object FirLazyBodiesCalculator {
|
||||
fun calculateLazyBodiesForFunction(designation: FirDeclarationDesignation) {
|
||||
val simpleFunction = designation.declaration as FirSimpleFunction
|
||||
if (simpleFunction.body !is FirLazyBlock) return
|
||||
val newFunction = RawFirNonLocalDeclarationBuilder.buildWithRebind(
|
||||
val newFunction = RawFirNonLocalDeclarationBuilder.buildWithFunctionSymbolRebind(
|
||||
session = simpleFunction.moduleData.session,
|
||||
scopeProvider = simpleFunction.moduleData.session.firIdeProvider.kotlinScopeProvider,
|
||||
designation = designation,
|
||||
@@ -51,7 +51,7 @@ internal object FirLazyBodiesCalculator {
|
||||
require(!secondaryConstructor.isPrimary)
|
||||
if (secondaryConstructor.body !is FirLazyBlock) return
|
||||
|
||||
val newFunction = RawFirNonLocalDeclarationBuilder.buildWithRebind(
|
||||
val newFunction = RawFirNonLocalDeclarationBuilder.buildWithFunctionSymbolRebind(
|
||||
session = secondaryConstructor.moduleData.session,
|
||||
scopeProvider = secondaryConstructor.moduleData.session.firIdeProvider.kotlinScopeProvider,
|
||||
designation = designation,
|
||||
@@ -67,7 +67,7 @@ internal object FirLazyBodiesCalculator {
|
||||
val firProperty = designation.declaration as FirProperty
|
||||
if (!needCalculatingLazyBodyForProperty(firProperty)) return
|
||||
|
||||
val newProperty = RawFirNonLocalDeclarationBuilder.buildWithRebind(
|
||||
val newProperty = RawFirNonLocalDeclarationBuilder.buildWithFunctionSymbolRebind(
|
||||
session = firProperty.moduleData.session,
|
||||
scopeProvider = firProperty.moduleData.session.firIdeProvider.kotlinScopeProvider,
|
||||
designation = designation,
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ internal fun FirLazyDeclarationResolver.lazyResolveDeclaration(
|
||||
firDeclaration: FirDeclaration,
|
||||
moduleFileCache: ModuleFileCache,
|
||||
toResolveType: ResolveType,
|
||||
scopeSession: ScopeSession = ScopeSession(),
|
||||
scopeSession: ScopeSession,
|
||||
checkPCE: Boolean = false,
|
||||
) {
|
||||
when (toResolveType) {
|
||||
|
||||
+2
-2
@@ -108,7 +108,7 @@ internal class FirLazyDeclarationResolver(private val firFileBuilder: FirFileBui
|
||||
firFile: FirFile,
|
||||
moduleFileCache: ModuleFileCache,
|
||||
toPhase: FirResolvePhase,
|
||||
scopeSession: ScopeSession = ScopeSession(),
|
||||
scopeSession: ScopeSession,
|
||||
checkPCE: Boolean = false,
|
||||
) {
|
||||
moduleFileCache.firFileLockProvider.runCustomResolveUnderLock(firFile, checkPCE) {
|
||||
@@ -186,7 +186,7 @@ internal class FirLazyDeclarationResolver(private val firFileBuilder: FirFileBui
|
||||
fun lazyResolveDeclaration(
|
||||
firDeclarationToResolve: FirDeclaration,
|
||||
moduleFileCache: ModuleFileCache,
|
||||
scopeSession: ScopeSession = ScopeSession(),
|
||||
scopeSession: ScopeSession,
|
||||
toPhase: FirResolvePhase,
|
||||
checkPCE: Boolean,
|
||||
declarationPhaseDowngraded: Boolean = false,
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ internal class RawFirNonLocalDeclarationBuilder private constructor(
|
||||
}
|
||||
}
|
||||
|
||||
fun buildWithRebind(
|
||||
fun buildWithFunctionSymbolRebind(
|
||||
session: FirSession,
|
||||
scopeProvider: FirScopeProvider,
|
||||
designation: FirDeclarationDesignation,
|
||||
|
||||
+2
@@ -54,5 +54,7 @@ internal class FirFileAnnotationsResolveTransformer(
|
||||
check(annotations.all { it.resolveStatus == FirAnnotationResolveStatus.Resolved }) { "Annotation was not resolved" }
|
||||
}
|
||||
|
||||
override fun ensureResolved(declaration: FirDeclaration) = error("Not implemented")
|
||||
|
||||
override fun needReplacePhase(firDeclaration: FirDeclaration): Boolean = false
|
||||
}
|
||||
+2
-1
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.api.FirDeclarationDesignation
|
||||
|
||||
internal interface FirLazyTransformerForIDE {
|
||||
fun transformDeclaration(phaseRunner: FirPhaseRunner)
|
||||
fun ensureResolved(declaration: FirDeclaration): Unit = error("Not implemented")
|
||||
fun ensureResolved(declaration: FirDeclaration)
|
||||
fun ensureResolvedDeep(declaration: FirDeclaration) {
|
||||
if (!enableDeepEnsure) return
|
||||
ensureResolved(declaration)
|
||||
@@ -68,6 +68,7 @@ internal interface FirLazyTransformerForIDE {
|
||||
|
||||
val DUMMY = object : FirLazyTransformerForIDE {
|
||||
override fun transformDeclaration(phaseRunner: FirPhaseRunner) = Unit
|
||||
override fun ensureResolved(declaration: FirDeclaration) = error("Not implemented")
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -69,6 +69,6 @@ internal object LazyTransformerFactory {
|
||||
towerDataContextCollector,
|
||||
firProviderInterceptor,
|
||||
)
|
||||
else -> error("Non-lazy phase $this")
|
||||
else -> error("Non-lazy phase $phase")
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -162,7 +162,7 @@ abstract class AbstractCompilerBasedTest : KotlinLightCodeInsightFixtureTestCase
|
||||
try {
|
||||
FirLazyTransformerForIDE.enableDeepEnsure = true
|
||||
TestRunner(configuration).runTest(path)
|
||||
} catch (_: Exception) {
|
||||
} finally {
|
||||
FirLazyTransformerForIDE.enableDeepEnsure = oldEnableDeepEnsure
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user