[FIR] Register enhancement state in library session too

This is needed for enhancement scopes for deserialized java declarations
This commit is contained in:
Dmitriy Novozhilov
2021-07-12 10:15:07 +03:00
parent 8e0793091a
commit 6d364a5fee
2 changed files with 6 additions and 1 deletions
@@ -60,6 +60,10 @@ fun FirSession.registerCliCompilerOnlyComponents() {
register(FirPhaseManager::class, FirPhaseCheckingPhaseManager)
}
@OptIn(SessionConfiguration::class)
fun FirSession.registerCommonJavaComponents() {
register(FirJavaTypeEnhancementStateComponent::class, FirJavaTypeEnhancementStateComponent(JavaTypeEnhancementState.DEFAULT))
}
// -------------------------- Resolve components --------------------------
@@ -96,7 +100,6 @@ fun FirSession.registerJavaSpecificResolveComponents() {
register(FirSyntheticNamesProvider::class, FirJavaSyntheticNamesProvider)
register(FirJsr305StateContainer::class, FirJsr305StateContainer.Default)
register(FirOverridesBackwardCompatibilityHelper::class, FirJvmOverridesBackwardCompatibilityHelper)
register(FirJavaTypeEnhancementStateComponent::class, FirJavaTypeEnhancementStateComponent(JavaTypeEnhancementState.DEFAULT))
}
@OptIn(SessionConfiguration::class)
@@ -136,6 +136,7 @@ object FirSessionFactory {
sessionProvider.registerSession(moduleData, this@session)
registerModuleData(moduleData)
registerCliCompilerOnlyComponents()
registerCommonJavaComponents()
registerCommonComponents(languageVersionSettings)
registerResolveComponents(lookupTracker)
registerJavaSpecificResolveComponents()
@@ -199,6 +200,7 @@ object FirSessionFactory {
registerCliCompilerOnlyComponents()
registerCommonComponents(languageVersionSettings)
registerCommonJavaComponents()
val javaSymbolProvider = JavaSymbolProvider(this, moduleDataProvider.allModuleData.last(), project, scope)