[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
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<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)
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,