[java] introduce language level for Java 23

GitOrigin-RevId: d64d154c243f5c1810bf08790a1df44a6ac948cb
This commit is contained in:
Bas Leijdekkers
2024-07-03 10:13:47 +00:00
committed by intellij-monorepo-bot
parent 994cd7442a
commit 14315c7ca4
6 changed files with 125 additions and 7 deletions
@@ -208,6 +208,8 @@ jdk.21.language.level.description=21 - Record patterns, pattern matching for swi
jdk.21.preview.language.level.description=21 (Preview) - String templates, unnamed classes and instance main methods etc.
jdk.22.language.level.description=22 - Unnamed variables and patterns
jdk.22.preview.language.level.description=22 (Preview) - Statements before super(), string templates (2nd preview) etc.
jdk.23.language.level.description=23 - Markdown documentation comments
jdk.23.preview.language.level.description=23 (Preview) - Primitive types in patterns, implicitly declared classes and instance main methods etc.
jdk.X.language.level.description=X - Experimental features
jdk.unsupported.preview.language.level.description={0} (Preview) - Unsupported
@@ -1,4 +1,4 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.openapi.projectRoots;
import com.intellij.openapi.util.NlsSafe;
@@ -37,7 +37,8 @@ public enum JavaSdkVersion {
JDK_20(LanguageLevel.JDK_20),
JDK_21(LanguageLevel.JDK_21),
JDK_22(LanguageLevel.JDK_22),
JDK_23(LanguageLevel.JDK_X);
JDK_23(LanguageLevel.JDK_23),
JDK_24(LanguageLevel.JDK_X);
private final LanguageLevel myMaxLanguageLevel;
@@ -1,4 +1,4 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.pom.java;
import com.intellij.core.JavaPsiBundle;
@@ -61,8 +61,9 @@ public enum LanguageLevel {
JDK_21_PREVIEW(JavaPsiBundle.messagePointer("jdk.21.preview.language.level.description"), 21),
JDK_22(JavaPsiBundle.messagePointer("jdk.22.language.level.description"), 22),
JDK_22_PREVIEW(JavaPsiBundle.messagePointer("jdk.22.preview.language.level.description"), 22),
JDK_X(JavaPsiBundle.messagePointer("jdk.X.language.level.description"), 23),
JDK_23(JavaPsiBundle.messagePointer("jdk.23.language.level.description"), 23),
JDK_23_PREVIEW(JavaPsiBundle.messagePointer("jdk.23.preview.language.level.description"), 23),
JDK_X(JavaPsiBundle.messagePointer("jdk.X.language.level.description"), 24),
;
/**