diff --git a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt index 0a6ec5932cc..be9702f8928 100644 --- a/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt +++ b/compiler/util/src/org/jetbrains/kotlin/config/LanguageVersionSettings.kt @@ -324,6 +324,9 @@ enum class LanguageVersion(val major: Int, val minor: Int) : DescriptionAware { } } +fun LanguageVersion.isStableOrReadyForPreview(): Boolean = + isStable || this == KOTLIN_1_5 + interface LanguageVersionSettings { fun getFeatureSupport(feature: LanguageFeature): LanguageFeature.State diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/EnableUnsupportedFeatureFix.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/EnableUnsupportedFeatureFix.kt index bf00531efd4..811a8750237 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/EnableUnsupportedFeatureFix.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/quickfix/EnableUnsupportedFeatureFix.kt @@ -17,6 +17,7 @@ import com.intellij.psi.PsiElement import org.jetbrains.kotlin.config.ApiVersion import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider import org.jetbrains.kotlin.config.LanguageFeature +import org.jetbrains.kotlin.config.isStableOrReadyForPreview import org.jetbrains.kotlin.diagnostics.Diagnostic import org.jetbrains.kotlin.diagnostics.Errors import org.jetbrains.kotlin.idea.KotlinJvmBundle @@ -104,7 +105,7 @@ sealed class EnableUnsupportedFeatureFix( val apiVersionOnly = sinceVersion <= languageFeatureSettings.languageVersion && feature.sinceApiVersion > languageFeatureSettings.apiVersion - if (!sinceVersion.isStable && !ApplicationManager.getApplication().isInternal) { + if (!sinceVersion.isStableOrReadyForPreview() && !ApplicationManager.getApplication().isInternal) { return null } diff --git a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/MavenCompletionProviders.kt b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/MavenCompletionProviders.kt index 967995c144a..a3950b57b3b 100644 --- a/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/MavenCompletionProviders.kt +++ b/idea/idea-maven/src/org/jetbrains/kotlin/idea/maven/MavenCompletionProviders.kt @@ -11,14 +11,15 @@ import org.jetbrains.idea.maven.plugins.api.MavenFixedValueReferenceProvider import org.jetbrains.kotlin.cli.common.arguments.DefaultValues import org.jetbrains.kotlin.config.JvmTarget import org.jetbrains.kotlin.config.LanguageVersion +import org.jetbrains.kotlin.config.isStableOrReadyForPreview class MavenLanguageVersionsCompletionProvider : MavenFixedValueReferenceProvider( - LanguageVersion.values().filter { it.isStable || ApplicationManager.getApplication().isInternal }.map { it.versionString } + LanguageVersion.values().filter { it.isStableOrReadyForPreview() || ApplicationManager.getApplication().isInternal }.map { it.versionString } .toTypedArray() ) class MavenApiVersionsCompletionProvider : MavenFixedValueReferenceProvider( - LanguageVersion.values().filter { it.isStable || ApplicationManager.getApplication().isInternal }.map { it.versionString } + LanguageVersion.values().filter { it.isStableOrReadyForPreview() || ApplicationManager.getApplication().isInternal }.map { it.versionString } .toTypedArray() ) diff --git a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java index 087aa7e8f1e..d3ba8f912a1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java +++ b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java @@ -370,7 +370,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable { apiVersionComboBox.addItem(VersionView.LatestStable.INSTANCE); for (LanguageVersion version : LanguageVersion.values()) { - if (version.isUnsupported() || !version.isStable() && !ApplicationManager.getApplication().isInternal()) { + if (version.isUnsupported() || !LanguageVersionSettingsKt.isStableOrReadyForPreview(version) && !ApplicationManager.getApplication().isInternal()) { continue; }