cleanup LanguageLevel

GitOrigin-RevId: b8000db3562acf1caaa3742a338753c03f6f40b6
This commit is contained in:
Max Medvedev
2025-08-24 12:44:15 +00:00
committed by intellij-monorepo-bot
parent 663985e2da
commit 3189c3d3d8
@@ -90,8 +90,8 @@ enum class LanguageLevel {
constructor(presentableTextSupplier: () -> @Nls String, major: Int) {
myPresentableText = presentableTextSupplier
myVersion = compose(major)
this.isUnsupported = false
this.isPreview = name.endsWith("_PREVIEW") || name.endsWith("_X")
isUnsupported = false
isPreview = name.endsWith(PREVIEW_SUFFIX) || name.endsWith("_X")
}
/**
@@ -102,9 +102,9 @@ enum class LanguageLevel {
constructor(major: Int) {
myPresentableText = messagePointer("jdk.unsupported.preview.language.level.description", major)
myVersion = compose(major)
this.isUnsupported = true
this.isPreview = true
require(name.endsWith("_PREVIEW")) { "Only preview versions could be unsupported: " + name }
isUnsupported = true
isPreview = true
require(name.endsWith(PREVIEW_SUFFIX)) { "Only preview versions could be unsupported: $name" }
}
/**
@@ -112,11 +112,11 @@ enum class LanguageLevel {
*/
fun getPreviewLevel(): LanguageLevel? {
if (isPreview) return this
try {
return valueOf(name + "_PREVIEW")
return try {
valueOf(name + PREVIEW_SUFFIX)
}
catch (_: IllegalArgumentException) {
return null
null
}
}
@@ -206,13 +206,9 @@ enum class LanguageLevel {
/** See [JavaVersion.parse] for supported formats. */
@JvmStatic
fun parse(compilerComplianceOption: String?): LanguageLevel? {
if (compilerComplianceOption != null) {
val sdkVersion = JavaSdkVersion.fromVersionString(compilerComplianceOption)
if (sdkVersion != null) {
return sdkVersion.maxLanguageLevel
}
}
return null
if (compilerComplianceOption == null) return null
val sdkVersion = JavaSdkVersion.fromVersionString(compilerComplianceOption) ?: return null
return sdkVersion.maxLanguageLevel
}
/**
@@ -225,5 +221,7 @@ enum class LanguageLevel {
fun forFeature(feature: Int): LanguageLevel? {
return ourStandardVersions[feature]
}
private const val PREVIEW_SUFFIX = "_PREVIEW"
}
}