Commit 90a5d2b2 authored by Remi Forax's avatar Remi Forax
Browse files

Merge branch 'add-support-version-java18' into 'master'

add support of Java 18

See merge request asm/asm!323
parents 8ef178c4 1412c762
......@@ -107,6 +107,7 @@ public class ASMifier extends Printer {
classVersions.put(Opcodes.V15, "V15");
classVersions.put(Opcodes.V16, "V16");
classVersions.put(Opcodes.V17, "V17");
classVersions.put(Opcodes.V18, "V18");
CLASS_VERSIONS = Collections.unmodifiableMap(classVersions);
}
......
......@@ -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.V17) {
if (checkClassVersion && readShort(classFileOffset + 6) > Opcodes.V18) {
throw new IllegalArgumentException(
"Unsupported class file major version " + readShort(classFileOffset + 6));
}
......
......@@ -283,6 +283,7 @@ public interface Opcodes {
int V15 = 0 << 16 | 59;
int V16 = 0 << 16 | 60;
int V17 = 0 << 16 | 61;
int V18 = 0 << 16 | 62;
/**
* Version flag indicating that the class is using 'preview' features.
......
......@@ -250,6 +250,7 @@ public class ConstantsTest {
case "V15":
case "V16":
case "V17":
case "V18":
return ConstantType.CLASS_VERSION;
case "ACC_PUBLIC":
case "ACC_PRIVATE":
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment