diff options
author | Remi Forax <forax@univ-mlv.fr> | 2022-06-19 11:02:41 +0000 |
---|---|---|
committer | Remi Forax <forax@univ-mlv.fr> | 2022-06-19 11:02:41 +0000 |
commit | 78701b3db8b182a974f64994c035309b1b9928d2 (patch) | |
tree | cf67be3eb9e42f728f2839cc4a8db5e923e03167 | |
parent | bc2420aacc7f73fed6b74b2631ee2235c0c36a37 (diff) | |
parent | 8b7090dc7fc280aeff270473658766179cb2024b (diff) | |
download | ow2-asm-78701b3db8b182a974f64994c035309b1b9928d2.tar.gz |
Merge branch 'support-jdk10' into 'master'
recognize Java 20 version (64)
See merge request asm/asm!352
4 files changed, 4 insertions, 1 deletions
diff --git a/asm-util/src/main/java/org/objectweb/asm/util/ASMifier.java b/asm-util/src/main/java/org/objectweb/asm/util/ASMifier.java index 51134811..2d1966a5 100644 --- a/asm-util/src/main/java/org/objectweb/asm/util/ASMifier.java +++ b/asm-util/src/main/java/org/objectweb/asm/util/ASMifier.java @@ -109,6 +109,7 @@ public class ASMifier extends Printer { classVersions.put(Opcodes.V17, "V17"); classVersions.put(Opcodes.V18, "V18"); classVersions.put(Opcodes.V19, "V19"); + classVersions.put(Opcodes.V20, "V20"); CLASS_VERSIONS = Collections.unmodifiableMap(classVersions); } diff --git a/asm/src/main/java/org/objectweb/asm/ClassReader.java b/asm/src/main/java/org/objectweb/asm/ClassReader.java index 413f2a1a..2a1139c3 100644 --- a/asm/src/main/java/org/objectweb/asm/ClassReader.java +++ b/asm/src/main/java/org/objectweb/asm/ClassReader.java @@ -194,7 +194,7 @@ public class ClassReader { this.b = classFileBuffer; // Check the class' major_version. This field is after the magic and minor_version fields, which // use 4 and 2 bytes respectively. - if (checkClassVersion && readShort(classFileOffset + 6) > Opcodes.V19) { + if (checkClassVersion && readShort(classFileOffset + 6) > Opcodes.V20) { throw new IllegalArgumentException( "Unsupported class file major version " + readShort(classFileOffset + 6)); } diff --git a/asm/src/main/java/org/objectweb/asm/Opcodes.java b/asm/src/main/java/org/objectweb/asm/Opcodes.java index c4d1679a..4a85a445 100644 --- a/asm/src/main/java/org/objectweb/asm/Opcodes.java +++ b/asm/src/main/java/org/objectweb/asm/Opcodes.java @@ -285,6 +285,7 @@ public interface Opcodes { int V17 = 0 << 16 | 61; int V18 = 0 << 16 | 62; int V19 = 0 << 16 | 63; + int V20 = 0 << 16 | 64; /** * Version flag indicating that the class is using 'preview' features. diff --git a/asm/src/test/java/org/objectweb/asm/ConstantsTest.java b/asm/src/test/java/org/objectweb/asm/ConstantsTest.java index 8c220861..f2ca92a2 100644 --- a/asm/src/test/java/org/objectweb/asm/ConstantsTest.java +++ b/asm/src/test/java/org/objectweb/asm/ConstantsTest.java @@ -252,6 +252,7 @@ class ConstantsTest { case "V17": case "V18": case "V19": + case "V20": return ConstantType.CLASS_VERSION; case "ACC_PUBLIC": case "ACC_PRIVATE": |