Show pre-released 1.5 version in configuration preferences

^KT-44116 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2021-01-12 08:56:36 +03:00
parent d53354057a
commit 032c64669c
4 changed files with 9 additions and 4 deletions
@@ -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
@@ -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
}
@@ -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()
)
@@ -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;
}