K2: drop C/DFA warning which fixes can break compilation in K1 till 1.8
#KT-50965 Fixed
This commit is contained in:
+12
-1
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user