[FIR] Cleanup IC provider creation in FirSessionFactory

This commit is contained in:
Dmitriy Novozhilov
2021-05-19 16:28:56 +03:00
committed by TeamCityServer
parent 6d38a236c1
commit 6e4cc49f1d
5 changed files with 15 additions and 13 deletions
@@ -90,6 +90,15 @@ object FirKotlinToJvmBytecodeCompiler {
val librariesScope = ProjectScope.getLibrariesScope(project)
val providerAndScopeForIncrementalCompilation = run {
if (targetIds == null || incrementalComponents == null) return@run null
val packagePartProvider = IncrementalPackagePartProvider(
environment.createPackagePartProvider(sourceScope),
targetIds.map(incrementalComponents::getIncrementalCache)
)
FirSessionFactory.ProviderAndScopeForIncrementalCompilation(packagePartProvider, librariesScope)
}
val languageVersionSettings = moduleConfiguration.languageVersionSettings
val session = createSessionWithDependencies(
Name.identifier(module.getModuleName()),
@@ -101,15 +110,8 @@ object FirKotlinToJvmBytecodeCompiler {
sourceScope,
librariesScope,
lookupTracker = environment.configuration.get(CommonConfigurationKeys.LOOKUP_TRACKER),
providerAndScopeForIncrementalCompilation,
getPackagePartProvider = { environment.createPackagePartProvider(it) },
getProviderAndScopeForIncrementalCompilation = get@{
if (targetIds == null || incrementalComponents == null) return@get null
val packagePartProvider = IncrementalPackagePartProvider(
environment.createPackagePartProvider(sourceScope),
targetIds.map(incrementalComponents::getIncrementalCache)
)
FirSessionFactory.ProviderAndScopeForIncrementalCompilation(packagePartProvider, librariesScope)
},
dependenciesConfigurator = {
dependencies(moduleConfiguration.jvmClasspathRoots.map { it.toPath() })
friendDependencies(moduleConfiguration[JVMConfigurationKeys.FRIEND_PATHS] ?: emptyList())