-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy path0001-Add-support-of-Java-25.patch
More file actions
65 lines (60 loc) · 2.89 KB
/
Copy path0001-Add-support-of-Java-25.patch
File metadata and controls
65 lines (60 loc) · 2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
From 4caba9055e454d4086ad17a2299a5236b9ef744d Mon Sep 17 00:00:00 2001
From: forax <forax@univ-mlv.fr>
Date: Tue, 10 Dec 2024 11:11:49 +0100
Subject: [PATCH] Add support of Java 25
Forwarded: https://gitlab.ow2.org/asm/asm/-/merge_requests/420
---
asm-util/src/main/java/org/objectweb/asm/util/ASMifier.java | 1 +
asm/src/main/java/org/objectweb/asm/ClassReader.java | 2 +-
asm/src/main/java/org/objectweb/asm/Opcodes.java | 1 +
asm/src/test/java/org/objectweb/asm/ConstantsTest.java | 1 +
4 files changed, 4 insertions(+), 1 deletion(-)
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 4ede9201..9ce9f1c6 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
@@ -114,6 +114,7 @@ public class ASMifier extends Printer {
classVersions.put(Opcodes.V22, "V22");
classVersions.put(Opcodes.V23, "V23");
classVersions.put(Opcodes.V24, "V24");
+ classVersions.put(Opcodes.V25, "V25");
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 33b2a300..5f66ed2b 100644
--- a/asm/src/main/java/org/objectweb/asm/ClassReader.java
+++ b/asm/src/main/java/org/objectweb/asm/ClassReader.java
@@ -195,7 +195,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.V24) {
+ if (checkClassVersion && readShort(classFileOffset + 6) > Opcodes.V25) {
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 9aa8a3b0..4ed95869 100644
--- a/asm/src/main/java/org/objectweb/asm/Opcodes.java
+++ b/asm/src/main/java/org/objectweb/asm/Opcodes.java
@@ -290,6 +290,7 @@ public interface Opcodes {
int V22 = 0 << 16 | 66;
int V23 = 0 << 16 | 67;
int V24 = 0 << 16 | 68;
+ int V25 = 0 << 16 | 69;
/**
* 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 e7af1d04..543ba044 100644
--- a/asm/src/test/java/org/objectweb/asm/ConstantsTest.java
+++ b/asm/src/test/java/org/objectweb/asm/ConstantsTest.java
@@ -257,6 +257,7 @@ class ConstantsTest {
case "V22":
case "V23":
case "V24":
+ case "V25":
return ConstantType.CLASS_VERSION;
case "ACC_PUBLIC":
case "ACC_PRIVATE":
--
2.48.1