mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-386224 jdk: fix JDK_X case for LanguageLevel#getNonPreviewLevel
IJ-CR-194679 (cherry picked from commit e7fed949dab6c28a2ddb31beb92a6158e3962569) IJ-CR-194679 GitOrigin-RevId: 1c7bd1cee637a5bfc92d002ccb3de6b4670b8954
This commit is contained in:
committed by
intellij-monorepo-bot
parent
43d79c35b7
commit
aca13a18bf
@@ -153,7 +153,7 @@ public final class AcceptedLanguageLevelsSettings implements PersistentStateComp
|
||||
if (ApplicationManager.getApplication().isEAP()) return true;
|
||||
// language levels up to HIGHEST are officially supported
|
||||
var nonPreviewLevel = languageLevel.getNonPreviewLevel();
|
||||
return nonPreviewLevel != null && JavaRelease.getHighest().compareTo(nonPreviewLevel) >= 0 || getSettings().acceptedNames.contains(languageLevel.name());
|
||||
return JavaRelease.getHighest().compareTo(nonPreviewLevel) >= 0 || getSettings().acceptedNames.contains(languageLevel.name());
|
||||
}
|
||||
|
||||
private static void acceptAndRestore(Project project, Collection<? extends Module> modules, LanguageLevel languageLevel) {
|
||||
|
||||
@@ -123,11 +123,11 @@ enum class LanguageLevel {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return corresponding non-preview level, `this` if this level is non-preview already, `null` if the level is unreleased and unsupported
|
||||
* @return corresponding non-preview level, `this` for [JDK_X] and non-preview levels.
|
||||
*/
|
||||
fun getNonPreviewLevel(): LanguageLevel? {
|
||||
if (!isPreview) return this
|
||||
return ourStandardVersions[myVersion.feature]
|
||||
fun getNonPreviewLevel(): LanguageLevel {
|
||||
if (!isPreview || this == JDK_X) return this
|
||||
return requireNotNull(ourStandardVersions[myVersion.feature])
|
||||
}
|
||||
|
||||
val presentableText: @Nls String
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ class GradleJavaCompilerSettingsImportingTest : GradleJavaCompilerSettingsImport
|
||||
@Test
|
||||
fun `test language level approximation`() {
|
||||
val highest = JavaRelease.getHighest()
|
||||
val nonPreview = highest.getNonPreviewLevel()!!
|
||||
val nonPreview = highest.getNonPreviewLevel()
|
||||
val preview = nonPreview.getPreviewLevel()
|
||||
|
||||
Assume.assumeTrue("The IDE $highest Java version doesn't have preview level",
|
||||
|
||||
Reference in New Issue
Block a user