FIR: use JSR-305 state from command line flags

This commit is contained in:
pyos
2021-08-19 17:17:03 +02:00
committed by teamcityserver
parent bff4b8639b
commit 24210aacc8
19 changed files with 26 additions and 376 deletions
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.fir.session
import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.config.JvmAnalysisFlags
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.analysis.CheckersComponent
@@ -35,7 +36,6 @@ import org.jetbrains.kotlin.fir.resolve.transformers.plugin.GeneratedClassIndex
import org.jetbrains.kotlin.fir.scopes.impl.FirDeclaredMemberScopeProvider
import org.jetbrains.kotlin.fir.types.FirCorrespondingSupertypesCache
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.load.java.JavaTypeEnhancementState
// -------------------------- Required components --------------------------
@@ -63,7 +63,8 @@ fun FirSession.registerCliCompilerOnlyComponents() {
@OptIn(SessionConfiguration::class)
fun FirSession.registerCommonJavaComponents() {
register(FirJavaTypeEnhancementStateComponent::class, FirJavaTypeEnhancementStateComponent(JavaTypeEnhancementState.DEFAULT))
val jsr305State = languageVersionSettings.getFlag(JvmAnalysisFlags.javaTypeEnhancementState)
register(FirJavaTypeEnhancementStateComponent::class, FirJavaTypeEnhancementStateComponent(jsr305State))
}
// -------------------------- Resolve components --------------------------
@@ -135,8 +135,8 @@ object FirSessionFactory {
sessionProvider.registerSession(moduleData, this@session)
registerModuleData(moduleData)
registerCliCompilerOnlyComponents()
registerCommonJavaComponents()
registerCommonComponents(languageVersionSettings)
registerCommonJavaComponents()
registerResolveComponents(lookupTracker)
registerJavaSpecificResolveComponents()