From a614d0325f8bfe70282ea610c2ef1ef16b47af57 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Mon, 13 Nov 2023 16:47:45 +0900 Subject: [PATCH] [Analysis API] Move test-only project provider closer to tests --- .../configurators/StandaloneModeTestServiceRegistrar.kt | 4 ++-- .../framework/services/AnalysisApiEnvironmentManager.kt | 3 +-- .../framework/services/KtTestProjectStructureProvider.kt} | 8 +++++--- 3 files changed, 8 insertions(+), 7 deletions(-) rename analysis/{analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/KtStaticModuleProvider.kt => analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/KtTestProjectStructureProvider.kt} (88%) diff --git a/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/configurators/StandaloneModeTestServiceRegistrar.kt b/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/configurators/StandaloneModeTestServiceRegistrar.kt index 7d70de7ca9d..2050cec3b91 100644 --- a/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/configurators/StandaloneModeTestServiceRegistrar.kt +++ b/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/configurators/StandaloneModeTestServiceRegistrar.kt @@ -10,13 +10,13 @@ import com.intellij.openapi.vfs.impl.jar.CoreJarFileSystem import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals import org.jetbrains.kotlin.analysis.api.lifetime.KtLifetimeTokenProvider import org.jetbrains.kotlin.analysis.api.standalone.KtAlwaysAccessibleLifetimeTokenProvider -import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.KtStaticModuleProvider import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.LLFirStandaloneLibrarySymbolProviderFactory import org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure.LLFirLibrarySymbolProviderFactory import org.jetbrains.kotlin.analysis.project.structure.KtBinaryModule import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider import org.jetbrains.kotlin.analysis.providers.KotlinPsiDeclarationProviderFactory import org.jetbrains.kotlin.analysis.providers.impl.KotlinStaticPsiDeclarationProviderFactory +import org.jetbrains.kotlin.analysis.test.framework.services.KtTestProjectStructureProvider import org.jetbrains.kotlin.analysis.test.framework.services.environmentManager import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestServiceRegistrar import org.jetbrains.kotlin.test.services.TestServices @@ -33,7 +33,7 @@ public object StandaloneModeTestServiceRegistrar : AnalysisApiTestServiceRegistr override fun registerProjectModelServices(project: MockProject, testServices: TestServices) { val projectStructureProvider = ProjectStructureProvider.getInstance(project) val binaryModules = - (projectStructureProvider as? KtStaticModuleProvider)?.allKtModules?.filterIsInstance() + (projectStructureProvider as? KtTestProjectStructureProvider)?.allKtModules?.filterIsInstance() ?: emptyList() val projectEnvironment = testServices.environmentManager.getProjectEnvironment() project.apply { diff --git a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/AnalysisApiEnvironmentManager.kt b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/AnalysisApiEnvironmentManager.kt index 6c6d76f713a..1237ffca510 100644 --- a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/AnalysisApiEnvironmentManager.kt +++ b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/AnalysisApiEnvironmentManager.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.analysis.test.framework.services import com.intellij.openapi.Disposable import com.intellij.openapi.application.Application import com.intellij.openapi.project.Project -import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.KtStaticModuleProvider import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.StandaloneProjectFactory import org.jetbrains.kotlin.analysis.project.structure.KtBuiltinsModule import org.jetbrains.kotlin.analysis.test.framework.project.structure.ktModuleProvider @@ -68,7 +67,7 @@ class AnalysisApiEnvironmentManagerImpl( StandaloneProjectFactory.registerServicesForProjectEnvironment( _projectEnvironment, - KtStaticModuleProvider(globalLanguageVersionSettings, builtinsModule, ktModuleProjectStructure), + KtTestProjectStructureProvider(globalLanguageVersionSettings, builtinsModule, ktModuleProjectStructure), useSiteCompilerConfiguration.languageVersionSettings, useSiteCompilerConfiguration.get(JVMConfigurationKeys.JDK_HOME)?.toPath(), ) diff --git a/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/KtStaticModuleProvider.kt b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/KtTestProjectStructureProvider.kt similarity index 88% rename from analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/KtStaticModuleProvider.kt rename to analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/KtTestProjectStructureProvider.kt index 670133a8504..eb2ba621ecb 100644 --- a/analysis/analysis-api-standalone/analysis-api-standalone-base/src/org/jetbrains/kotlin/analysis/api/standalone/base/project/structure/KtStaticModuleProvider.kt +++ b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/services/KtTestProjectStructureProvider.kt @@ -1,12 +1,14 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. */ -package org.jetbrains.kotlin.analysis.api.standalone.base.project.structure +package org.jetbrains.kotlin.analysis.test.framework.services import com.intellij.psi.PsiElement import com.intellij.psi.PsiFileSystemItem +import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.KtModuleProjectStructure +import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.KtStaticProjectStructureProvider import org.jetbrains.kotlin.analysis.project.structure.* import org.jetbrains.kotlin.analysis.project.structure.impl.KtDanglingFileModuleImpl import org.jetbrains.kotlin.config.LanguageVersionSettings @@ -15,7 +17,7 @@ import org.jetbrains.kotlin.psi.psiUtil.contains import org.jetbrains.kotlin.serialization.deserialization.builtins.BuiltInSerializerProtocol import org.jetbrains.kotlin.utils.KotlinExceptionWithAttachments -class KtStaticModuleProvider( +class KtTestProjectStructureProvider( override val globalLanguageVersionSettings: LanguageVersionSettings, private val builtinsModule: KtBuiltinsModule, private val projectStructure: KtModuleProjectStructure,