[LL FIR] refactoring, add service accessor for LLFirLibrarySymbolProviderFactory

^KT-61371
This commit is contained in:
Ilya Kirillov
2023-09-12 21:52:55 +02:00
committed by Space Team
parent 9c50308954
commit d377d87c77
2 changed files with 8 additions and 2 deletions
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure package org.jetbrains.kotlin.analysis.low.level.api.fir.project.structure
import com.intellij.openapi.project.Project
import com.intellij.psi.search.GlobalSearchScope import com.intellij.psi.search.GlobalSearchScope
import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.fir.deserialization.SingleModuleDataProvider import org.jetbrains.kotlin.fir.deserialization.SingleModuleDataProvider
@@ -21,6 +22,11 @@ abstract class LLFirLibrarySymbolProviderFactory {
moduleDataProvider: SingleModuleDataProvider, moduleDataProvider: SingleModuleDataProvider,
firJavaFacade: FirJavaFacade, firJavaFacade: FirJavaFacade,
packagePartProvider: PackagePartProvider, packagePartProvider: PackagePartProvider,
scope: GlobalSearchScope scope: GlobalSearchScope,
): List<FirSymbolProvider> ): List<FirSymbolProvider>
companion object {
fun getService(project: Project): LLFirLibrarySymbolProviderFactory =
project.getService(LLFirLibrarySymbolProviderFactory::class.java)
}
} }
@@ -104,7 +104,7 @@ internal class LLFirJvmSessionFactory(project: Project) : LLFirAbstractSessionFa
val packagePartProvider = project.createPackagePartProvider(scope) val packagePartProvider = project.createPackagePartProvider(scope)
return buildList { return buildList {
val firJavaFacade = LLFirJavaFacadeForBinaries(session, builtinTypes, project.createJavaClassFinder(scope), moduleDataProvider) val firJavaFacade = LLFirJavaFacadeForBinaries(session, builtinTypes, project.createJavaClassFinder(scope), moduleDataProvider)
val deserializedSymbolProviderFactory = project.getService(LLFirLibrarySymbolProviderFactory::class.java) val deserializedSymbolProviderFactory = LLFirLibrarySymbolProviderFactory.getService(project)
addAll( addAll(
deserializedSymbolProviderFactory.createJvmLibrarySymbolProvider( deserializedSymbolProviderFactory.createJvmLibrarySymbolProvider(
session, session,