FIR: encapsulate creating of cli-only session components into single function
This commit is contained in:
committed by
TeamCityServer
parent
0a80fbb078
commit
fee83051e9
+1
-9
@@ -51,17 +51,9 @@ fun FirSession.registerCommonComponents(languageVersionSettings: LanguageVersion
|
|||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(SessionConfiguration::class)
|
@OptIn(SessionConfiguration::class)
|
||||||
fun FirSession.registerThreadUnsafeCaches() {
|
fun FirSession.registerCliCompilerOnlyComponents() {
|
||||||
register(FirCachesFactory::class, FirThreadUnsafeCachesFactory)
|
register(FirCachesFactory::class, FirThreadUnsafeCachesFactory)
|
||||||
}
|
|
||||||
|
|
||||||
@OptIn(SessionConfiguration::class)
|
|
||||||
fun FirSession.registerSealedClassInheritorsProvider() {
|
|
||||||
register(SealedClassInheritorsProvider::class, SealedClassInheritorsProviderImpl)
|
register(SealedClassInheritorsProvider::class, SealedClassInheritorsProviderImpl)
|
||||||
}
|
|
||||||
|
|
||||||
@OptIn(SessionConfiguration::class)
|
|
||||||
fun FirSession.registerFirCliPhaseManager() {
|
|
||||||
register(FirPhaseManager::class, FirPhaseCheckingPhaseManager)
|
register(FirPhaseManager::class, FirPhaseCheckingPhaseManager)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -73,12 +73,10 @@ object FirSessionFactory {
|
|||||||
init: FirSessionConfigurator.() -> Unit = {}
|
init: FirSessionConfigurator.() -> Unit = {}
|
||||||
): FirJavaModuleBasedSession {
|
): FirJavaModuleBasedSession {
|
||||||
return FirJavaModuleBasedSession(moduleInfo, sessionProvider).apply {
|
return FirJavaModuleBasedSession(moduleInfo, sessionProvider).apply {
|
||||||
registerThreadUnsafeCaches()
|
registerCliCompilerOnlyComponents()
|
||||||
registerFirCliPhaseManager()
|
|
||||||
registerCommonComponents(languageVersionSettings)
|
registerCommonComponents(languageVersionSettings)
|
||||||
registerResolveComponents(lookupTracker)
|
registerResolveComponents(lookupTracker)
|
||||||
registerJavaSpecificResolveComponents()
|
registerJavaSpecificResolveComponents()
|
||||||
registerSealedClassInheritorsProvider()
|
|
||||||
|
|
||||||
val kotlinScopeProvider = KotlinScopeProvider(::wrapScopeWithJvmMapped)
|
val kotlinScopeProvider = KotlinScopeProvider(::wrapScopeWithJvmMapped)
|
||||||
|
|
||||||
@@ -127,10 +125,8 @@ object FirSessionFactory {
|
|||||||
languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT,
|
languageVersionSettings: LanguageVersionSettings = LanguageVersionSettingsImpl.DEFAULT,
|
||||||
): FirLibrarySession {
|
): FirLibrarySession {
|
||||||
return FirLibrarySession(moduleInfo, sessionProvider).apply {
|
return FirLibrarySession(moduleInfo, sessionProvider).apply {
|
||||||
registerThreadUnsafeCaches()
|
registerCliCompilerOnlyComponents()
|
||||||
registerFirCliPhaseManager()
|
|
||||||
registerCommonComponents(languageVersionSettings)
|
registerCommonComponents(languageVersionSettings)
|
||||||
registerSealedClassInheritorsProvider()
|
|
||||||
|
|
||||||
val javaSymbolProvider = JavaSymbolProvider(this, project, scope)
|
val javaSymbolProvider = JavaSymbolProvider(this, project, scope)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user