FIR: Pull creation of JavaClassConverter to session factory

This commit is contained in:
Denis.Zharkov
2021-09-14 12:37:00 +03:00
committed by TeamCityServer
parent b6e3399cbd
commit 1fc2f13a35
6 changed files with 35 additions and 19 deletions
@@ -153,7 +153,7 @@ object FirSessionFactory {
kotlinScopeProvider,
it.packagePartProvider,
projectEnvironment.getKotlinClassFinder(it.scope),
projectEnvironment.getJavaClassFinder(it.scope)
projectEnvironment.getJavaClassConverter(this, moduleData, it.scope),
)
}
@@ -165,7 +165,7 @@ object FirSessionFactory {
listOfNotNull(
firProvider.symbolProvider,
symbolProviderForBinariesFromIncrementalCompilation,
JavaSymbolProvider(this, moduleData, projectEnvironment.getJavaClassFinder(scope)),
JavaSymbolProvider(this, projectEnvironment.getJavaClassConverter(this, moduleData, scope)),
dependenciesSymbolProvider,
)
)
@@ -213,7 +213,7 @@ object FirSessionFactory {
kotlinScopeProvider,
packagePartProvider,
projectEnvironment.getKotlinClassFinder(scope),
projectEnvironment.getJavaClassFinder(scope)
projectEnvironment.getJavaClassConverter(this, moduleDataProvider.allModuleData.last(), scope)
)
val builtinsModuleData = createModuleDataForBuiltins(
@@ -5,8 +5,9 @@
package org.jetbrains.kotlin.fir.session.environment
import org.jetbrains.kotlin.fir.FirModuleData
import org.jetbrains.kotlin.fir.FirSession
import org.jetbrains.kotlin.load.java.JavaClassFinder
import org.jetbrains.kotlin.fir.java.JavaClassConverter
import org.jetbrains.kotlin.load.kotlin.KotlinClassFinder
import org.jetbrains.kotlin.load.kotlin.PackagePartProvider
import org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleResolver
@@ -40,8 +41,6 @@ interface AbstractProjectFileSearchScope {
interface AbstractProjectEnvironment {
fun getKotlinClassFinder(fileSearchScope: AbstractProjectFileSearchScope): KotlinClassFinder
fun getJavaClassFinder(fileSearchScope: AbstractProjectFileSearchScope): JavaClassFinder
fun getJavaModuleResolver(): JavaModuleResolver
fun getPackagePartProvider(fileSearchScope: AbstractProjectFileSearchScope): PackagePartProvider
@@ -53,4 +52,10 @@ interface AbstractProjectEnvironment {
fun getSearchScopeForProjectLibraries(): AbstractProjectFileSearchScope
fun getSearchScopeForProjectJavaSources(): AbstractProjectFileSearchScope
fun getJavaClassConverter(
firSession: FirSession,
baseModuleData: FirModuleData,
fileSearchScope: AbstractProjectFileSearchScope
): JavaClassConverter
}