diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirIdeResolveStateService.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirIdeResolveStateService.kt index b57c168a077..dedddfc4052 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirIdeResolveStateService.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/FirIdeResolveStateService.kt @@ -10,7 +10,7 @@ import com.intellij.openapi.project.Project import org.jetbrains.kotlin.idea.util.psiModificationTrackerBasedCachedValue import java.util.concurrent.ConcurrentHashMap import org.jetbrains.kotlin.idea.caches.project.* -import org.jetbrains.kotlin.idea.fir.low.level.api.sessions.FirIdeModuleLibraryDependenciesSession +import org.jetbrains.kotlin.idea.fir.low.level.api.sessions.FirIdeLibrariesSession import org.jetbrains.kotlin.idea.fir.low.level.api.sessions.FirIdeSessionProvider import org.jetbrains.kotlin.idea.fir.low.level.api.sessions.FirIdeSourcesSession @@ -23,7 +23,7 @@ internal class FirIdeResolveStateService(private val project: Project) { val firPhaseRunner = FirPhaseRunner() val sessionProvider = FirIdeSessionProvider(project) - val librariesSession = FirIdeModuleLibraryDependenciesSession.create(moduleInfo as ModuleSourceInfo, sessionProvider, project) + val librariesSession = FirIdeLibrariesSession.create(moduleInfo as ModuleSourceInfo, sessionProvider, project) val sourcesSession = FirIdeSourcesSession.create( project, moduleInfo, diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeLibrarySession.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeLibrarySession.kt index 52d37d823a4..71b33759878 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeLibrarySession.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeLibrarySession.kt @@ -22,7 +22,10 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.IdeSessionComponents import org.jetbrains.kotlin.load.java.JavaClassFinderImpl import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory -internal class FirIdeModuleLibraryDependenciesSession private constructor( +/** + * [org.jetbrains.kotlin.fir.FirSession] responsible for all libraries analysing module transitively depends on + */ +internal class FirIdeLibrariesSession private constructor( sessionProvider: FirIdeSessionProvider, override val scope: GlobalSearchScope ) : FirIdeSession(sessionProvider) { @@ -31,7 +34,7 @@ internal class FirIdeModuleLibraryDependenciesSession private constructor( moduleInfo: ModuleSourceInfo, sessionProvider: FirIdeSessionProvider, project: Project, - ): FirIdeModuleLibraryDependenciesSession { + ): FirIdeLibrariesSession { val searchScope = moduleInfo.module.moduleWithLibrariesScope val javaClassFinder = JavaClassFinderImpl().apply { setProjectInstance(project) @@ -40,7 +43,7 @@ internal class FirIdeModuleLibraryDependenciesSession private constructor( val packagePartProvider = IDEPackagePartProvider(searchScope) val kotlinClassFinder = VirtualFileFinderFactory.getInstance(project).create(searchScope) - return FirIdeModuleLibraryDependenciesSession(sessionProvider, searchScope).apply { + return FirIdeLibrariesSession(sessionProvider, searchScope).apply { registerCommonComponents() val javaSymbolProvider = JavaSymbolProvider(this, sessionProvider.project, searchScope) diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSessionProvider.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSessionProvider.kt index 236927622dc..975489f0a16 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSessionProvider.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSessionProvider.kt @@ -9,13 +9,9 @@ import com.intellij.openapi.project.Project import org.jetbrains.kotlin.analyzer.ModuleInfo import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSessionProvider -import org.jetbrains.kotlin.fir.java.FirProjectSessionProvider import org.jetbrains.kotlin.idea.caches.project.IdeaModuleInfo import org.jetbrains.kotlin.idea.caches.project.ModuleSourceInfo -import org.jetbrains.kotlin.idea.caches.project.getModuleInfo import org.jetbrains.kotlin.idea.caches.project.isLibraryClasses -import org.jetbrains.kotlin.psi.KtElement -import java.util.concurrent.ConcurrentHashMap import org.jetbrains.kotlin.idea.fir.low.level.api.annotations.ThreadSafe @ThreadSafe @@ -23,7 +19,7 @@ internal class FirIdeSessionProvider( override val project: Project, ) : FirSessionProvider { private lateinit var sourcesSession: FirIdeSourcesSession - private lateinit var librariesSession: FirIdeModuleLibraryDependenciesSession + private lateinit var librariesSession: FirIdeLibrariesSession fun setSourcesSession(sourcesSession: FirIdeSourcesSession) { @@ -31,7 +27,7 @@ internal class FirIdeSessionProvider( this.sourcesSession = sourcesSession } - fun setLibrariesSession(librariesSession: FirIdeModuleLibraryDependenciesSession) { + fun setLibrariesSession(librariesSession: FirIdeLibrariesSession) { check(!this::librariesSession.isInitialized) this.librariesSession = librariesSession } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSourcesSession.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSourcesSession.kt index be453290a1d..4cdcacbb5df 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSourcesSession.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/sessions/FirIdeSourcesSession.kt @@ -32,7 +32,9 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.providers.FirIdeProvider import org.jetbrains.kotlin.idea.fir.low.level.api.providers.firIdeProvider import org.jetbrains.kotlin.idea.fir.low.level.api.util.collectTransitiveDependenciesWithSelf - +/** + * [org.jetbrains.kotlin.fir.FirSession] responsible for all Kotlin & Java source modules analysing module transitively depends on + */ internal class FirIdeSourcesSession private constructor( sessionProvider: FirIdeSessionProvider, override val scope: GlobalSearchScope, @@ -49,7 +51,7 @@ internal class FirIdeSourcesSession private constructor( moduleInfo: ModuleSourceInfo, firPhaseRunner: FirPhaseRunner, sessionProvider: FirIdeSessionProvider, - librariesSession: FirIdeModuleLibraryDependenciesSession, + librariesSession: FirIdeLibrariesSession, ): FirIdeSourcesSession { val scopeProvider = KotlinScopeProvider(::wrapScopeWithJvmMapped) val firBuilder = FirFileBuilder(scopeProvider, firPhaseRunner)