FIR: remove default parameter values from FirJvmSessionFactory

Most of them are passed at all call sites anyway. Having default values
makes it easy to forget to pass some meaningful argument (especially
`LanguageVersionSettingsImpl.DEFAULT` seems scary), and complicates
refactoring.
This commit is contained in:
Alexander Udalov
2024-02-28 16:39:52 +01:00
committed by Space Team
parent bacb2f0d15
commit d475371394
3 changed files with 17 additions and 12 deletions
@@ -40,7 +40,7 @@ object FirJvmSessionFactory : FirAbstractSessionFactory() {
scope: AbstractProjectFileSearchScope, scope: AbstractProjectFileSearchScope,
packagePartProvider: PackagePartProvider, packagePartProvider: PackagePartProvider,
languageVersionSettings: LanguageVersionSettings, languageVersionSettings: LanguageVersionSettings,
predefinedJavaComponents: FirSharableJavaComponents? = null, predefinedJavaComponents: FirSharableJavaComponents?,
registerExtraComponents: ((FirSession) -> Unit), registerExtraComponents: ((FirSession) -> Unit),
): FirSession { ): FirSession {
return createLibrarySession( return createLibrarySession(
@@ -87,14 +87,14 @@ object FirJvmSessionFactory : FirAbstractSessionFactory() {
projectEnvironment: AbstractProjectEnvironment, projectEnvironment: AbstractProjectEnvironment,
createIncrementalCompilationSymbolProviders: (FirSession) -> FirJvmIncrementalCompilationSymbolProviders?, createIncrementalCompilationSymbolProviders: (FirSession) -> FirJvmIncrementalCompilationSymbolProviders?,
extensionRegistrars: List<FirExtensionRegistrar>, extensionRegistrars: List<FirExtensionRegistrar>,
languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT, languageVersionSettings: LanguageVersionSettings,
lookupTracker: LookupTracker? = null, lookupTracker: LookupTracker?,
enumWhenTracker: EnumWhenTracker? = null, enumWhenTracker: EnumWhenTracker?,
importTracker: ImportTracker? = null, importTracker: ImportTracker?,
predefinedJavaComponents: FirSharableJavaComponents? = null, predefinedJavaComponents: FirSharableJavaComponents?,
needRegisterJavaElementFinder: Boolean, needRegisterJavaElementFinder: Boolean,
registerExtraComponents: ((FirSession) -> Unit) = {}, registerExtraComponents: ((FirSession) -> Unit),
init: FirSessionConfigurator.() -> Unit = {} init: FirSessionConfigurator.() -> Unit,
): FirSession { ): FirSession {
return createModuleBasedSession( return createModuleBasedSession(
moduleData, moduleData,
@@ -59,6 +59,7 @@ object FirSessionFactoryHelper {
librariesScope, librariesScope,
packagePartProvider, packagePartProvider,
languageVersionSettings, languageVersionSettings,
predefinedJavaComponents = null,
registerExtraComponents = {}, registerExtraComponents = {},
) )
@@ -81,7 +82,8 @@ object FirSessionFactoryHelper {
lookupTracker, lookupTracker,
enumWhenTracker, enumWhenTracker,
importTracker, importTracker,
needRegisterJavaElementFinder = needRegisterJavaElementFinder, predefinedJavaComponents = null,
needRegisterJavaElementFinder,
registerExtraComponents = {}, registerExtraComponents = {},
init = sessionConfigurator, init = sessionConfigurator,
) )
@@ -85,7 +85,7 @@ open class FirFrontendFacade(
} }
} }
fun registerExtraComponents(session: FirSession) { private fun registerExtraComponents(session: FirSession) {
testServices.firSessionComponentRegistrar?.registerAdditionalComponent(session) testServices.firSessionComponentRegistrar?.registerAdditionalComponent(session)
} }
@@ -214,7 +214,7 @@ open class FirFrontendFacade(
projectFileSearchScope, projectFileSearchScope,
packagePartProvider, packagePartProvider,
languageVersionSettings, languageVersionSettings,
predefinedJavaComponents = predefinedJavaComponents, predefinedJavaComponents,
registerExtraComponents = ::registerExtraComponents, registerExtraComponents = ::registerExtraComponents,
) )
} }
@@ -367,7 +367,10 @@ open class FirFrontendFacade(
createIncrementalCompilationSymbolProviders = { null }, createIncrementalCompilationSymbolProviders = { null },
extensionRegistrars, extensionRegistrars,
languageVersionSettings, languageVersionSettings,
predefinedJavaComponents = predefinedJavaComponents, lookupTracker = null,
enumWhenTracker = null,
importTracker = null,
predefinedJavaComponents,
needRegisterJavaElementFinder = true, needRegisterJavaElementFinder = true,
registerExtraComponents = ::registerExtraComponents, registerExtraComponents = ::registerExtraComponents,
init = sessionConfigurator, init = sessionConfigurator,