From 613fadfbaeeac60c1923b27b1d80078602f2e57e Mon Sep 17 00:00:00 2001 From: quelgar Date: Tue, 22 May 2018 12:14:51 +1000 Subject: [PATCH] [asm-cherry-pick] Support for Java 10. From OW2 commit f8357974a1a958b0769d50d8d3307e450973ba4c. It appears there are no changes to the classfile format in Java 10 other than the version bump to 54. --- src/main/java/scala/tools/asm/ClassReader.java | 2 +- src/main/java/scala/tools/asm/Opcodes.java | 3 ++- src/main/java/scala/tools/asm/util/ASMifier.java | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/scala/tools/asm/ClassReader.java b/src/main/java/scala/tools/asm/ClassReader.java index 1bbd1bebb..278dcf70b 100644 --- a/src/main/java/scala/tools/asm/ClassReader.java +++ b/src/main/java/scala/tools/asm/ClassReader.java @@ -156,7 +156,7 @@ public ClassReader(final byte[] b) { public ClassReader(final byte[] b, final int off, final int len) { this.b = b; // checks the class version - if (readShort(off + 6) > Opcodes.V9) { + if (readShort(off + 6) > Opcodes.V10) { throw new IllegalArgumentException(); } // parses the constant pool diff --git a/src/main/java/scala/tools/asm/Opcodes.java b/src/main/java/scala/tools/asm/Opcodes.java index fb137fcd2..2f673789c 100644 --- a/src/main/java/scala/tools/asm/Opcodes.java +++ b/src/main/java/scala/tools/asm/Opcodes.java @@ -59,7 +59,8 @@ public interface Opcodes { int V1_6 = 0 << 16 | 50; int V1_7 = 0 << 16 | 51; int V1_8 = 0 << 16 | 52; - int V9 = 0 << 16 | 53; + int V9 = 0 << 16 | 53; + int V10 = 0 << 16 | 54; // access flags diff --git a/src/main/java/scala/tools/asm/util/ASMifier.java b/src/main/java/scala/tools/asm/util/ASMifier.java index a45fc7cae..0ec90f973 100644 --- a/src/main/java/scala/tools/asm/util/ASMifier.java +++ b/src/main/java/scala/tools/asm/util/ASMifier.java @@ -223,6 +223,9 @@ public void visit(final int version, final int access, final String name, case Opcodes.V9: buf.append("V9"); break; + case Opcodes.V10: + buf.append("V10"); + break; default: buf.append(version); break;