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 71b33759878..61ca7c11377 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 @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.idea.fir.low.level.api.sessions import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope +import org.jetbrains.kotlin.analyzer.ModuleInfo import org.jetbrains.kotlin.fir.java.JavaSymbolProvider import org.jetbrains.kotlin.fir.java.deserialization.KotlinDeserializedJvmSymbolsProvider import org.jetbrains.kotlin.fir.registerCommonComponents @@ -26,6 +27,7 @@ import org.jetbrains.kotlin.load.kotlin.VirtualFileFinderFactory * [org.jetbrains.kotlin.fir.FirSession] responsible for all libraries analysing module transitively depends on */ internal class FirIdeLibrariesSession private constructor( + override val moduleInfo: ModuleInfo, sessionProvider: FirIdeSessionProvider, override val scope: GlobalSearchScope ) : FirIdeSession(sessionProvider) { @@ -43,7 +45,7 @@ internal class FirIdeLibrariesSession private constructor( val packagePartProvider = IDEPackagePartProvider(searchScope) val kotlinClassFinder = VirtualFileFinderFactory.getInstance(project).create(searchScope) - return FirIdeLibrariesSession(sessionProvider, searchScope).apply { + return FirIdeLibrariesSession(moduleInfo, 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/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 4cdcacbb5df..0d0000114d1 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 @@ -8,6 +8,7 @@ package org.jetbrains.kotlin.idea.fir.low.level.api.sessions import com.intellij.openapi.module.impl.scopes.ModuleWithDependentsScope import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope +import org.jetbrains.kotlin.analyzer.ModuleInfo import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.analysis.registerCheckersComponent import org.jetbrains.kotlin.fir.extensions.BunchOfRegisteredExtensions @@ -36,6 +37,7 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.util.collectTransitiveDepende * [org.jetbrains.kotlin.fir.FirSession] responsible for all Kotlin & Java source modules analysing module transitively depends on */ internal class FirIdeSourcesSession private constructor( + override val moduleInfo: ModuleInfo?, sessionProvider: FirIdeSessionProvider, override val scope: GlobalSearchScope, val firFileBuilder: FirFileBuilder, @@ -57,7 +59,7 @@ internal class FirIdeSourcesSession private constructor( val firBuilder = FirFileBuilder(scopeProvider, firPhaseRunner) val dependentModules = moduleInfo.collectTransitiveDependenciesWithSelf().filterIsInstance() val searchScope = ModuleWithDependentsScope(project, dependentModules.map { it.module }) - return FirIdeSourcesSession(sessionProvider, searchScope, firBuilder).apply { + return FirIdeSourcesSession(moduleInfo, sessionProvider, searchScope, firBuilder).apply { val cache = ModuleFileCacheImpl(this) val phasedFirFileResolver = IdePhasedFirFileResolver(firBuilder, cache)