From 669e7e071c7987708d4eb3c55b22325a91881dcd Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Wed, 20 Jul 2022 14:40:20 +0300 Subject: [PATCH] [AA] Register library and builtins session factories in Standalone AA Builder --- .../api/standalone/StandaloneAnalysisAPISessionBuilder.kt | 1 + .../fir/project/structure/LLFirBuiltinsSessionFactory.kt | 4 ++-- .../api/fir/project/structure/LLFirLibrarySessionFactory.kt | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt index 81754544e19..c63eb347ae3 100644 --- a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt +++ b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneAnalysisAPISessionBuilder.kt @@ -25,6 +25,7 @@ import org.jetbrains.kotlin.analysis.decompiled.light.classes.ClsJavaStubByVirtu import org.jetbrains.kotlin.analysis.low.level.api.fir.api.services.FirSealedClassInheritorsProcessorFactory import org.jetbrains.kotlin.analysis.low.level.api.fir.api.services.PackagePartProviderFactory import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirBuiltinsSessionFactory +import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirLibrarySessionFactory import org.jetbrains.kotlin.analysis.project.structure.KtModuleScopeProvider import org.jetbrains.kotlin.analysis.project.structure.KtModuleScopeProviderImpl import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirBuiltinsSessionFactory.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirBuiltinsSessionFactory.kt index 1e0a14308c4..818628fc7c6 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirBuiltinsSessionFactory.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirBuiltinsSessionFactory.kt @@ -33,7 +33,7 @@ import org.jetbrains.kotlin.platform.jvm.isJvm import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices @OptIn(PrivateSessionConstructor::class, SessionConfiguration::class) - class LLFirBuiltinsSessionFactory( +class LLFirBuiltinsSessionFactory( private val project: Project, ) { private val builtInTypes = BuiltinTypes() // TODO should be platform-specific @@ -79,4 +79,4 @@ private fun TargetPlatform.getAnalyzerServices() = when { // isNative() -> NativePlatformAnalyzerServices isCommon() -> CommonPlatformAnalyzerServices else -> JvmPlatformAnalyzerServices/*TODO*/ -} \ No newline at end of file +} diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibrarySessionFactory.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibrarySessionFactory.kt index c917448e684..6d5a1660d89 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibrarySessionFactory.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibrarySessionFactory.kt @@ -30,11 +30,11 @@ import org.jetbrains.kotlin.fir.symbols.FirLazyDeclarationResolver import org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleResolver @OptIn(PrivateSessionConstructor::class, SessionConfiguration::class) -internal class LLFirLibrarySessionFactory( +class LLFirLibrarySessionFactory( private val project: Project, ) { - fun getLibrarySession(ktBinaryModule: KtBinaryModule, sessionsCache: MutableMap): LLFirLibrarySession { + internal fun getLibrarySession(ktBinaryModule: KtBinaryModule, sessionsCache: MutableMap): LLFirLibrarySession { return sessionsCache.getOrPut(ktBinaryModule) { createModuleLibrariesSession(ktBinaryModule) } as LLFirLibrarySession } @@ -81,4 +81,4 @@ internal class LLFirLibrarySessionFactory( project.getService(LLFirLibrarySessionFactory::class.java) } -} \ No newline at end of file +}