From 3189c3d3d854c368bcb32e64ac3c216c360bd50a Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Sun, 24 Aug 2025 10:06:24 +0200 Subject: [PATCH] cleanup LanguageLevel GitOrigin-RevId: b8000db3562acf1caaa3742a338753c03f6f40b6 --- .../com/intellij/pom/java/LanguageLevel.kt | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/java/java-syntax/src/com/intellij/pom/java/LanguageLevel.kt b/java/java-syntax/src/com/intellij/pom/java/LanguageLevel.kt index 6b84249f9e2b..28b29b2aa5ac 100644 --- a/java/java-syntax/src/com/intellij/pom/java/LanguageLevel.kt +++ b/java/java-syntax/src/com/intellij/pom/java/LanguageLevel.kt @@ -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" } } \ No newline at end of file