Skip to content

Commit

Permalink
JAVA21 in JavaVersion enum
Browse files Browse the repository at this point in the history
  • Loading branch information
LorenzoBettini committed May 16, 2024
1 parent 09367df commit ba104e8
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
public class JavaVersionTest {
@Test
public void test_fromBree() {
assertEquals(JavaVersion.JAVA21, JavaVersion.fromBree("JavaSE-21"));
assertEquals(JavaVersion.JAVA17, JavaVersion.fromBree("JavaSE-17"));
assertEquals(JavaVersion.JAVA11, JavaVersion.fromBree("JavaSE-11"));
assertEquals(JavaVersion.JAVA10, JavaVersion.fromBree("JavaSE-10"));
assertEquals(JavaVersion.JAVA9, JavaVersion.fromBree("JavaSE-9"));
Expand All @@ -29,6 +31,8 @@ public void test_fromBree() {

@Test
public void testFromQualifier() {
assertEquals(JavaVersion.JAVA21, JavaVersion.fromQualifier("21"));
assertEquals(JavaVersion.JAVA21, JavaVersion.fromQualifier("1.21"));
assertEquals(JavaVersion.JAVA17, JavaVersion.fromQualifier("17"));
assertEquals(JavaVersion.JAVA17, JavaVersion.fromQualifier("1.17"));
assertEquals(JavaVersion.JAVA11, JavaVersion.fromQualifier("11"));
Expand All @@ -51,6 +55,7 @@ public void testFromQualifier() {

@Test
public void test_getQualifier() {
assertEquals("21", JavaVersion.JAVA21.getQualifier());
assertEquals("17", JavaVersion.JAVA17.getQualifier());
assertEquals("11", JavaVersion.JAVA11.getQualifier());
assertEquals("10", JavaVersion.JAVA10.getQualifier());
Expand All @@ -68,6 +73,7 @@ public void test_isAtLeast() {

@Test
public void test_toJdtClassFileConstant () {
assertEquals(4259840, JavaVersion.JAVA21.toJdtClassFileConstant());
assertEquals(3997696, JavaVersion.JAVA17.toJdtClassFileConstant());
assertEquals(3604480, JavaVersion.JAVA11.toJdtClassFileConstant());
assertEquals(3538944, JavaVersion.JAVA10.toJdtClassFileConstant());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2015, 2017 itemis AG (http://www.itemis.eu) and others.
* Copyright (c) 2015, 2017, 2024 itemis AG (http://www.itemis.eu) and others.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
Expand Down Expand Up @@ -57,7 +57,11 @@ public enum JavaVersion {
/**
* Well, Java 17, next LTS version
*/
JAVA17("Java 17", new String[] {"17", "1.17"}, "JavaSE-17", "-1.17", Constants.JAVA17)
JAVA17("Java 17", new String[] {"17", "1.17"}, "JavaSE-17", "-1.17", Constants.JAVA17),
/**
* Java 21, next LTS version
*/
JAVA21("Java 21", new String[] {"21", "1.21"}, "JavaSE-21", "-1.21", Constants.JAVA21)
;

private static final class Constants {
Expand All @@ -71,6 +75,7 @@ private static final class Constants {
private static final long JAVA10 = ((long)(MAJOR_VERSION_1_5 + 5) << 16) + MINOR_VERSION_0;
private static final long JAVA11 = ((long)(MAJOR_VERSION_1_5 + 6) << 16) + MINOR_VERSION_0;
private static final long JAVA17 = ((long)(MAJOR_VERSION_1_5 + 12) << 16) + MINOR_VERSION_0;
private static final long JAVA21 = ((long)(MAJOR_VERSION_1_5 + 16) << 16) + MINOR_VERSION_0;
}

// if you introduce a new JavaVersion don't forget to adapt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public void testToJdtClassFileConstant() {
assertEquals(ClassFileConstants.JDK10, JavaVersion.JAVA10.toJdtClassFileConstant());
assertEquals(ClassFileConstants.JDK11, JavaVersion.JAVA11.toJdtClassFileConstant());
assertEquals(ClassFileConstants.JDK17, JavaVersion.JAVA17.toJdtClassFileConstant());
assertEquals(ClassFileConstants.JDK21, JavaVersion.JAVA21.toJdtClassFileConstant());
// try {
// long value = ClassFileConstants.class.getField("JDK17").getLong(null);
// assertEquals(value, JavaVersion.JAVA17.toJdtClassFileConstant());
Expand Down

0 comments on commit ba104e8

Please sign in to comment.