[LL FIR] refactoring, extract duplicated code from LLFirAbstractSessionFactory

This commit is contained in:
Ilya Kirillov
2024-01-17 14:14:24 +01:00
committed by Space Team
parent 46d5d512e5
commit 7773fdab9a
@@ -116,11 +116,11 @@ internal abstract class LLFirAbstractSessionFactory(protected val project: Proje
registerModuleData(moduleData)
register(FirKotlinScopeProvider::class, scopeProvider)
registerIdeComponents(project)
registerCommonComponents(languageVersionSettings)
registerAllCommonComponents(languageVersionSettings)
registerCommonComponentsAfterExtensionsAreConfigured()
registerJavaComponents(JavaModuleResolver.getInstance(project))
registerResolveComponents()
val provider = LLFirProvider(
this,
@@ -197,12 +197,11 @@ internal abstract class LLFirAbstractSessionFactory(protected val project: Proje
registerModuleData(moduleData)
register(FirKotlinScopeProvider::class, scopeProvider)
registerIdeComponents(project)
registerCommonComponents(languageVersionSettings)
registerAllCommonComponents(languageVersionSettings)
registerCommonComponentsAfterExtensionsAreConfigured()
registerJavaComponents(JavaModuleResolver.getInstance(project))
registerResolveComponents()
registerDefaultComponents()
val ktFile = module.file as? KtFile
@@ -268,10 +267,7 @@ internal abstract class LLFirAbstractSessionFactory(protected val project: Proje
registerModuleData(moduleData)
register(FirKotlinScopeProvider::class, scopeProvider)
registerIdeComponents(project)
registerCommonComponents(languageVersionSettings)
registerResolveComponents()
registerDefaultComponents()
registerAllCommonComponents(languageVersionSettings)
val firProvider = LLFirProvider(
this,
@@ -357,11 +353,8 @@ internal abstract class LLFirAbstractSessionFactory(protected val project: Proje
registerModuleData(moduleData)
register(FirKotlinScopeProvider::class, scopeProvider)
registerIdeComponents(project)
registerCommonComponents(languageVersionSettings)
registerAllCommonComponents(languageVersionSettings)
registerCommonComponentsAfterExtensionsAreConfigured()
registerResolveComponents()
registerDefaultComponents()
val firProvider = LLFirProvider(
this,
@@ -490,10 +483,7 @@ internal abstract class LLFirAbstractSessionFactory(protected val project: Proje
registerModuleData(moduleData)
register(FirKotlinScopeProvider::class, scopeProvider)
registerIdeComponents(project)
registerCommonComponents(languageVersionSettings)
registerResolveComponents()
registerDefaultComponents()
registerAllCommonComponents(languageVersionSettings)
val firProvider = LLFirProvider(
this,
@@ -636,6 +626,13 @@ internal abstract class LLFirAbstractSessionFactory(protected val project: Proje
return LLFirModuleData(session)
}
private fun LLFirSession.registerAllCommonComponents(languageVersionSettings: LanguageVersionSettings) {
registerIdeComponents(project)
registerCommonComponents(languageVersionSettings)
registerResolveComponents()
registerDefaultComponents()
}
/**
* Merges dependency symbol providers of the same kind, and adds the result to the receiver [MutableList].
* See [mergeDependencySymbolProvidersInto] for more information on symbol provider merging.