K2: drop C/DFA warning which fixes can break compilation in K1 till 1.8

#KT-50965 Fixed
This commit is contained in:
Mikhail Glukhikh
2022-04-28 15:10:24 +03:00
committed by Space
parent cc086bed58
commit 15d58aff92
14 changed files with 70 additions and 10 deletions
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.analysis.providers.createAnnotationResolver
import org.jetbrains.kotlin.analysis.providers.createDeclarationProvider
import org.jetbrains.kotlin.analysis.providers.createPackageProvider
import org.jetbrains.kotlin.analysis.utils.errors.checkIsInstance
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.LanguageVersionSettings
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
import org.jetbrains.kotlin.fir.*
@@ -81,7 +82,17 @@ internal object LLFirSessionFactory {
configureSession: (LLFirSession.() -> Unit)? = null
): LLFirSourcesSession {
sessionsCache[module]?.let { return it as LLFirSourcesSession }
val languageVersionSettings = module.languageVersionSettings
val languageVersionSettings = object : LanguageVersionSettings by module.languageVersionSettings {
override fun getFeatureSupport(feature: LanguageFeature): LanguageFeature.State =
if (feature == LanguageFeature.EnableDfaWarningsInK2) LanguageFeature.State.ENABLED
else module.languageVersionSettings.getFeatureSupport(feature)
override fun supportsFeature(feature: LanguageFeature): Boolean =
getFeatureSupport(feature).let {
it == LanguageFeature.State.ENABLED || it == LanguageFeature.State.ENABLED_WITH_WARNING
}
}
val scopeProvider = FirKotlinScopeProvider(::wrapScopeWithJvmMapped)
val components = LLFirModuleResolveComponents(module, globalResolveComponents, scopeProvider)