[FIR] Cleanup IC provider creation in FirSessionFactory
This commit is contained in:
committed by
TeamCityServer
parent
6d38a236c1
commit
6e4cc49f1d
+10
-8
@@ -90,6 +90,15 @@ object FirKotlinToJvmBytecodeCompiler {
|
|||||||
|
|
||||||
val librariesScope = ProjectScope.getLibrariesScope(project)
|
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 languageVersionSettings = moduleConfiguration.languageVersionSettings
|
||||||
val session = createSessionWithDependencies(
|
val session = createSessionWithDependencies(
|
||||||
Name.identifier(module.getModuleName()),
|
Name.identifier(module.getModuleName()),
|
||||||
@@ -101,15 +110,8 @@ object FirKotlinToJvmBytecodeCompiler {
|
|||||||
sourceScope,
|
sourceScope,
|
||||||
librariesScope,
|
librariesScope,
|
||||||
lookupTracker = environment.configuration.get(CommonConfigurationKeys.LOOKUP_TRACKER),
|
lookupTracker = environment.configuration.get(CommonConfigurationKeys.LOOKUP_TRACKER),
|
||||||
|
providerAndScopeForIncrementalCompilation,
|
||||||
getPackagePartProvider = { environment.createPackagePartProvider(it) },
|
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 = {
|
dependenciesConfigurator = {
|
||||||
dependencies(moduleConfiguration.jvmClasspathRoots.map { it.toPath() })
|
dependencies(moduleConfiguration.jvmClasspathRoots.map { it.toPath() })
|
||||||
friendDependencies(moduleConfiguration[JVMConfigurationKeys.FRIEND_PATHS] ?: emptyList())
|
friendDependencies(moduleConfiguration[JVMConfigurationKeys.FRIEND_PATHS] ?: emptyList())
|
||||||
|
|||||||
@@ -84,8 +84,8 @@ object FirSessionFactory {
|
|||||||
sourceScope: GlobalSearchScope,
|
sourceScope: GlobalSearchScope,
|
||||||
librariesScope: GlobalSearchScope,
|
librariesScope: GlobalSearchScope,
|
||||||
lookupTracker: LookupTracker?,
|
lookupTracker: LookupTracker?,
|
||||||
|
providerAndScopeForIncrementalCompilation: ProviderAndScopeForIncrementalCompilation?,
|
||||||
getPackagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
|
getPackagePartProvider: (GlobalSearchScope) -> PackagePartProvider,
|
||||||
getProviderAndScopeForIncrementalCompilation: () -> ProviderAndScopeForIncrementalCompilation?,
|
|
||||||
dependenciesConfigurator: DependencyListForCliModule.Builder.() -> Unit = {},
|
dependenciesConfigurator: DependencyListForCliModule.Builder.() -> Unit = {},
|
||||||
noinline sessionConfigurator: FirSessionConfigurator.() -> Unit = {},
|
noinline sessionConfigurator: FirSessionConfigurator.() -> Unit = {},
|
||||||
): FirSession {
|
): FirSession {
|
||||||
@@ -113,7 +113,7 @@ object FirSessionFactory {
|
|||||||
sessionProvider,
|
sessionProvider,
|
||||||
sourceScope,
|
sourceScope,
|
||||||
project,
|
project,
|
||||||
providerAndScopeForIncrementalCompilation = getProviderAndScopeForIncrementalCompilation(),
|
providerAndScopeForIncrementalCompilation,
|
||||||
languageVersionSettings = languageVersionSettings,
|
languageVersionSettings = languageVersionSettings,
|
||||||
lookupTracker = lookupTracker,
|
lookupTracker = lookupTracker,
|
||||||
init = sessionConfigurator
|
init = sessionConfigurator
|
||||||
|
|||||||
+1
-1
@@ -76,8 +76,8 @@ class FirFrontendFacade(
|
|||||||
sourcesScope,
|
sourcesScope,
|
||||||
librariesScope,
|
librariesScope,
|
||||||
lookupTracker = null,
|
lookupTracker = null,
|
||||||
|
providerAndScopeForIncrementalCompilation = null,
|
||||||
getPackagePartProvider = packagePartProviderFactory,
|
getPackagePartProvider = packagePartProviderFactory,
|
||||||
getProviderAndScopeForIncrementalCompilation = { null },
|
|
||||||
dependenciesConfigurator = {
|
dependenciesConfigurator = {
|
||||||
dependencies(configuration.jvmModularRoots.map { it.toPath() })
|
dependencies(configuration.jvmModularRoots.map { it.toPath() })
|
||||||
dependencies(configuration.jvmClasspathRoots.map { it.toPath() })
|
dependencies(configuration.jvmClasspathRoots.map { it.toPath() })
|
||||||
|
|||||||
+1
-1
@@ -90,8 +90,8 @@ abstract class AbstractFirBaseDiagnosticsTest : BaseDiagnosticsTest() {
|
|||||||
sourceScope = scope,
|
sourceScope = scope,
|
||||||
librariesScope = allProjectScope,
|
librariesScope = allProjectScope,
|
||||||
lookupTracker = null,
|
lookupTracker = null,
|
||||||
|
providerAndScopeForIncrementalCompilation = null,
|
||||||
getPackagePartProvider = { environment.createPackagePartProvider(it) },
|
getPackagePartProvider = { environment.createPackagePartProvider(it) },
|
||||||
getProviderAndScopeForIncrementalCompilation = { null },
|
|
||||||
) {
|
) {
|
||||||
configureSession()
|
configureSession()
|
||||||
getFirExtensions()?.let {
|
getFirExtensions()?.let {
|
||||||
|
|||||||
@@ -52,8 +52,8 @@ fun createSessionForTests(
|
|||||||
sourceScope,
|
sourceScope,
|
||||||
librariesScope,
|
librariesScope,
|
||||||
lookupTracker = null,
|
lookupTracker = null,
|
||||||
|
providerAndScopeForIncrementalCompilation = null,
|
||||||
getPackagePartProvider,
|
getPackagePartProvider,
|
||||||
getProviderAndScopeForIncrementalCompilation = { null },
|
|
||||||
dependenciesConfigurator = {
|
dependenciesConfigurator = {
|
||||||
friendDependencies(friendsPaths)
|
friendDependencies(friendsPaths)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user