CSR :
|
|
Relates :
|
Summary ------- Update core libraries for JDK 26 by adding an enum constant to `ClassFileFormatVersion` and a constant to `ClassFile`. Problem ------- With a new release, `ClassFileFormatVersion` and `ClassFile` need a constants to model that release. Solution -------- Add the new constants. Specification ------------- diff --git a/src/java.base/share/classes/java/lang/classfile/ClassFile.java b/src/java.base/share/classes/java/lang/classfile/ClassFile.java index 4b529c39099..216facbdddf 100644 --- a/src/java.base/share/classes/java/lang/classfile/ClassFile.java +++ b/src/java.base/share/classes/java/lang/classfile/ClassFile.java @@ -1030,6 +1030,14 @@ default List<VerifyError> verify(Path path) throws IOException { */ int JAVA_25_VERSION = 69; + /** + * The class major version introduced by Java SE 26, {@value}. + * + * @see ClassFileFormatVersion#RELEASE_26 + * @since 26 + */ + int JAVA_26_VERSION = 70; + /** * A minor version number {@value} indicating a class uses preview features * of a Java SE release since 12, for major versions {@value @@ -1041,7 +1049,7 @@ default List<VerifyError> verify(Path path) throws IOException { * {@return the latest class major version supported by the current runtime} */ static int latestMajorVersion() { - return JAVA_25_VERSION; + return JAVA_26_VERSION; } /** diff --git a/src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java b/src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java index 70eb921a124..4a63dd157f8 100644 --- a/src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java +++ b/src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java @@ -371,6 +371,18 @@ public enum ClassFileFormatVersion { * <cite>The Java Virtual Machine Specification, Java SE 25 Edition</cite></a> */ RELEASE_25(69), + + /** + * The version introduced by the Java Platform, Standard Edition + * 26. + * + * @since 26 + * + * @see <a + * href="https://docs.oracle.com/javase/specs/jvms/se26/html/index.html"> + * <cite>The Java Virtual Machine Specification, Java SE 26 Edition</cite></a> + */ + RELEASE_26(70), ; // Reduce code churn when appending new constants // Note to maintainers: when adding constants for newer releases, @@ -386,7 +398,7 @@ private ClassFileFormatVersion(int major) { * {@return the latest class file format version} */ public static ClassFileFormatVersion latest() { - return RELEASE_25; + return RELEASE_26; } /**