diff --git a/compiler/frontend/src/org/jetbrains/kotlin/config/AnalysisFlags.kt b/compiler/frontend/src/org/jetbrains/kotlin/config/AnalysisFlags.kt index cf45b13de61..5b24af1922c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/config/AnalysisFlags.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/config/AnalysisFlags.kt @@ -32,4 +32,7 @@ object AnalysisFlags { @JvmStatic val constraintSystemForOverloadResolution by AnalysisFlag.Delegates.ConstraintSystemForOverloadResolution + + @JvmStatic + val useTypeRefinement by AnalysisFlag.Delegates.Boolean } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/config/KotlinTypeRefinerImpl.kt b/compiler/frontend/src/org/jetbrains/kotlin/config/KotlinTypeRefinerImpl.kt index 77a3a4d14b5..52b347c649c 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/config/KotlinTypeRefinerImpl.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/config/KotlinTypeRefinerImpl.kt @@ -139,6 +139,9 @@ class KotlinTypeRefinerImpl( } } +val LanguageVersionSettings.isTypeRefinementEnabled: Boolean + get() = getFlag(AnalysisFlags.useTypeRefinement) + private val TypeConstructor.allDependentTypeConstructors: Collection get() = when (this) { is NewCapturedTypeConstructor -> {