From d377d87c77b058bb4c28b8c241a5c22afeef5c78 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 12 Sep 2023 21:52:55 +0200 Subject: [PATCH] [LL FIR] refactoring, add service accessor for `LLFirLibrarySymbolProviderFactory` ^KT-61371 --- .../structure/LLFirLibrarySymbolProviderFactory.kt | 8 +++++++- .../low/level/api/fir/sessions/LLFirJvmSessionFactory.kt | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibrarySymbolProviderFactory.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibrarySymbolProviderFactory.kt index a8e7e6301f3..2b3ec46c1f1 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibrarySymbolProviderFactory.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/project/structure/LLFirLibrarySymbolProviderFactory.kt @@ -5,6 +5,7 @@ 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.fir.FirSession import org.jetbrains.kotlin.fir.deserialization.SingleModuleDataProvider @@ -21,6 +22,11 @@ abstract class LLFirLibrarySymbolProviderFactory { moduleDataProvider: SingleModuleDataProvider, firJavaFacade: FirJavaFacade, packagePartProvider: PackagePartProvider, - scope: GlobalSearchScope + scope: GlobalSearchScope, ): List + + companion object { + fun getService(project: Project): LLFirLibrarySymbolProviderFactory = + project.getService(LLFirLibrarySymbolProviderFactory::class.java) + } } \ No newline at end of file diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/LLFirJvmSessionFactory.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/LLFirJvmSessionFactory.kt index a09b1eba0b6..8e2f0a2d5fb 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/LLFirJvmSessionFactory.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/sessions/LLFirJvmSessionFactory.kt @@ -104,7 +104,7 @@ internal class LLFirJvmSessionFactory(project: Project) : LLFirAbstractSessionFa val packagePartProvider = project.createPackagePartProvider(scope) return buildList { val firJavaFacade = LLFirJavaFacadeForBinaries(session, builtinTypes, project.createJavaClassFinder(scope), moduleDataProvider) - val deserializedSymbolProviderFactory = project.getService(LLFirLibrarySymbolProviderFactory::class.java) + val deserializedSymbolProviderFactory = LLFirLibrarySymbolProviderFactory.getService(project) addAll( deserializedSymbolProviderFactory.createJvmLibrarySymbolProvider( session,