From 6d364a5feeb7dd80ede9ada8da2655b79d0e6899 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Mon, 12 Jul 2021 10:15:07 +0300 Subject: [PATCH] [FIR] Register enhancement state in library session too This is needed for enhancement scopes for deserialized java declarations --- .../org/jetbrains/kotlin/fir/session/ComponentsContainers.kt | 5 ++++- .../org/jetbrains/kotlin/fir/session/FirSessionFactory.kt | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/ComponentsContainers.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/ComponentsContainers.kt index 3b0ca582a7c..2af7d68b875 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/ComponentsContainers.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/ComponentsContainers.kt @@ -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) diff --git a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt index a546a54ed48..32c4d632534 100644 --- a/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt +++ b/compiler/fir/entrypoint/src/org/jetbrains/kotlin/fir/session/FirSessionFactory.kt @@ -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)