From 2580a5c2337a21151f5eaeaba385fb7d4e6a241e Mon Sep 17 00:00:00 2001 From: Jinseong Jeon Date: Mon, 12 Sep 2022 14:17:30 -0700 Subject: [PATCH] AA: migrate PackagePartProviderFactory to general API providers --- .../providers}/PackagePartProviderFactory.kt | 12 ++++++------ .../StandaloneAnalysisAPISessionBuilder.kt | 3 +-- .../analysis/api/standalone/StandaloneUtils.kt | 3 +-- .../project/structure/LLFirLibraryProviderFactory.kt | 6 +++--- .../api/fir/services/PackagePartProviderTestImpl.kt | 4 ++-- .../test/base/AnalysisApiFirTestServiceRegistrar.kt | 2 +- 6 files changed, 14 insertions(+), 16 deletions(-) rename analysis/{low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/services => analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers}/PackagePartProviderFactory.kt (61%) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/services/PackagePartProviderFactory.kt b/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/PackagePartProviderFactory.kt similarity index 61% rename from analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/services/PackagePartProviderFactory.kt rename to analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/PackagePartProviderFactory.kt index 260eb85cc6b..9e0fd8d480c 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/services/PackagePartProviderFactory.kt +++ b/analysis/analysis-api-providers/src/org/jetbrains/kotlin/analysis/providers/PackagePartProviderFactory.kt @@ -1,23 +1,23 @@ /* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2022 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.low.level.api.fir.api.services +package org.jetbrains.kotlin.analysis.providers import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.load.kotlin.PackagePartProvider -abstract class PackagePartProviderFactory { +public abstract class PackagePartProviderFactory { /** * Create a [PackagePartProvider] for a given scope. [PackagePartProvider] is responsible for searching sub packages in a library. */ - abstract fun createPackagePartProviderForLibrary(scope: GlobalSearchScope): PackagePartProvider + public abstract fun createPackagePartProvider(scope: GlobalSearchScope): PackagePartProvider } /** * Create a [PackagePartProvider] for a given scope. [PackagePartProvider] is responsible for searching sub packages in a library. */ -internal fun Project.createPackagePartProviderForLibrary(scope: GlobalSearchScope): PackagePartProvider = - getService(PackagePartProviderFactory::class.java).createPackagePartProviderForLibrary(scope) \ No newline at end of file +public fun Project.createPackagePartProvider(scope: GlobalSearchScope): PackagePartProvider = + getService(PackagePartProviderFactory::class.java).createPackagePartProvider(scope) \ No newline at end of file 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 19f118c8692..f63ad29d1e2 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 @@ -23,7 +23,6 @@ import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider import org.jetbrains.kotlin.analysis.api.standalone.base.project.structure.StandaloneProjectFactory import org.jetbrains.kotlin.analysis.decompiled.light.classes.ClsJavaStubByVirtualFileCache 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 @@ -141,7 +140,7 @@ public class StandaloneAnalysisAPISessionBuilder( registerService( PackagePartProviderFactory::class.java, object : PackagePartProviderFactory() { - override fun createPackagePartProviderForLibrary(scope: GlobalSearchScope): PackagePartProvider { + override fun createPackagePartProvider(scope: GlobalSearchScope): PackagePartProvider { return packagePartProvider(scope) } } diff --git a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt index bf76e88e39d..53e1d224165 100644 --- a/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt +++ b/analysis/analysis-api-standalone/src/org/jetbrains/kotlin/analysis/api/standalone/StandaloneUtils.kt @@ -16,7 +16,6 @@ import org.jetbrains.kotlin.analysis.api.impl.base.references.HLApiReferenceProv import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider import org.jetbrains.kotlin.analysis.decompiled.light.classes.ClsJavaStubByVirtualFileCache 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.project.structure.KtModuleScopeProvider import org.jetbrains.kotlin.analysis.project.structure.KtModuleScopeProviderImpl import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider @@ -167,7 +166,7 @@ internal fun configureProjectEnvironment( project.picoContainer.registerComponentInstance( PackagePartProviderFactory::class.qualifiedName, object : PackagePartProviderFactory() { - override fun createPackagePartProviderForLibrary(scope: GlobalSearchScope): PackagePartProvider { + override fun createPackagePartProvider(scope: GlobalSearchScope): PackagePartProvider { return packagePartProvider(scope) } } diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibraryProviderFactory.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibraryProviderFactory.kt index 80a4032ee04..418da79b5f2 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibraryProviderFactory.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibraryProviderFactory.kt @@ -7,10 +7,10 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure import com.intellij.openapi.project.Project import com.intellij.psi.search.GlobalSearchScope -import org.jetbrains.kotlin.analysis.low.level.api.fir.api.services.createPackagePartProviderForLibrary import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirJavaFacadeForBinaries import org.jetbrains.kotlin.analysis.low.level.api.fir.sessions.LLFirSession import org.jetbrains.kotlin.analysis.project.structure.KtBinaryModule +import org.jetbrains.kotlin.analysis.providers.createPackagePartProvider import org.jetbrains.kotlin.fir.BuiltinTypes import org.jetbrains.kotlin.fir.deserialization.SingleModuleDataProvider import org.jetbrains.kotlin.fir.java.deserialization.JvmClassFileBasedSymbolProvider @@ -31,7 +31,7 @@ internal object LLFirLibraryProviderFactory { ): List { val moduleDataProvider = SingleModuleDataProvider(moduleData) val scope = module.contentScope - val packagePartProvider = project.createPackagePartProviderForLibrary(scope) + val packagePartProvider = project.createPackagePartProvider(scope) return buildList { add( JvmClassFileBasedSymbolProvider( @@ -56,7 +56,7 @@ internal object LLFirLibraryProviderFactory { scope: GlobalSearchScope, ): List { val moduleDataProvider = SingleModuleDataProvider(moduleData) - val packagePartProvider = project.createPackagePartProviderForLibrary(scope) + val packagePartProvider = project.createPackagePartProvider(scope) return buildList { add( JvmClassFileBasedSymbolProvider( diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/services/PackagePartProviderTestImpl.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/services/PackagePartProviderTestImpl.kt index 0536bc08ec3..164407c66d0 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/services/PackagePartProviderTestImpl.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/services/PackagePartProviderTestImpl.kt @@ -6,7 +6,7 @@ package org.jetbrains.kotlin.analysis.low.level.api.fir.services import com.intellij.psi.search.GlobalSearchScope -import org.jetbrains.kotlin.analysis.low.level.api.fir.api.services.PackagePartProviderFactory +import org.jetbrains.kotlin.analysis.providers.PackagePartProviderFactory import org.jetbrains.kotlin.load.kotlin.PackagePartProvider import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.serialization.deserialization.ClassData @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.test.services.moduleStructure internal class PackagePartProviderTestImpl( private val testServices: TestServices, ) : PackagePartProviderFactory() { - override fun createPackagePartProviderForLibrary(scope: GlobalSearchScope): PackagePartProvider { + override fun createPackagePartProvider(scope: GlobalSearchScope): PackagePartProvider { val providers = testServices.moduleStructure.modules.map { module -> testServices.compilerConfigurationProvider.getPackagePartProviderFactory(module)(scope) } diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AnalysisApiFirTestServiceRegistrar.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AnalysisApiFirTestServiceRegistrar.kt index 64166c14c3b..5c8c2b2a8e2 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AnalysisApiFirTestServiceRegistrar.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/test/base/AnalysisApiFirTestServiceRegistrar.kt @@ -15,13 +15,13 @@ import org.jetbrains.kotlin.analysis.api.fir.references.ReadWriteAccessCheckerFi import org.jetbrains.kotlin.analysis.api.session.KtAnalysisSessionProvider import org.jetbrains.kotlin.analysis.low.level.api.fir.LLFirResolveSessionService 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.low.level.api.fir.services.KtCompilerPluginsProviderForTests import org.jetbrains.kotlin.analysis.low.level.api.fir.services.LLFirSealedClassInheritorsProcessorFactoryForTests import org.jetbrains.kotlin.analysis.low.level.api.fir.services.PackagePartProviderTestImpl import org.jetbrains.kotlin.analysis.project.structure.KtCompilerPluginsProvider +import org.jetbrains.kotlin.analysis.providers.PackagePartProviderFactory import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestServiceRegistrar import org.jetbrains.kotlin.asJava.KotlinAsJavaSupport import org.jetbrains.kotlin.asJava.finder.JavaElementFinder