From 649bbcf35fc9270d879aecb1d3317d556604580d Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Fri, 20 Oct 2023 12:39:27 +0200 Subject: [PATCH] [Analysis API] fix common code resolution which requires getting symbols from builtin session A common platform builtin session before were created with `::wrapScopeWithJvmMapped`. This required some other JVM session components to be registered. We cannot register all JVM components in builtin session; it would lead to problems like KT-62777. So we use `::wrapScopeWithJvmMapped` only for true JVM sessions. This commit fixes a test added in the previous commit for KT-62768. ^KT-62768 fixed --- .../api/fir/project/structure/LLFirBuiltinsSessionFactory.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 71d6c48d080..c97613fa182 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 @@ -83,7 +83,10 @@ class LLFirBuiltinsSessionFactory(private val project: Project) { registerJavaComponents(JavaModuleResolver.getInstance(project)) } - val kotlinScopeProvider = FirKotlinScopeProvider(::wrapScopeWithJvmMapped) + val kotlinScopeProvider = when { + platform.isJvm() -> FirKotlinScopeProvider(::wrapScopeWithJvmMapped) + else -> FirKotlinScopeProvider() + } register(FirKotlinScopeProvider::class, kotlinScopeProvider) val symbolProvider = createCompositeSymbolProvider(this) {