Add classfile-api module: java.lang.classfile (JEP 484) parse, generate, transform with timing instrumentation, ASM 9.11.1 comparison, version limits, JDK 24/25/26 API diff

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b4VQVEJWetTT1dYzyJ
This commit is contained in:
2026-10-29 04:14:57 +00:00
co-authored by Claude Sonnet 5.5
parent eca73ad544
commit 41101bea40
37 changed files with 1763 additions and 0 deletions
@@ -0,0 +1,22 @@
$ java -cp classes:asm-9.11.1.jar... demo.VersionLimits (25.0.5+8-LTS)
running on Java 25; ClassFile.latestMajorVersion() = 69; ASM Opcodes.V25=69, V28=72
major 69:
java.lang.classfile : parsed, 8 methods
ASM 9.11.1 : parsed, 8 methods
major 70:
java.lang.classfile : java.lang.IllegalArgumentException: Unsupported class file version: 70
ASM 9.11.1 : parsed, 8 methods
major 72:
java.lang.classfile : java.lang.IllegalArgumentException: Unsupported class file version: 72
ASM 9.11.1 : parsed, 8 methods
major 73:
java.lang.classfile : java.lang.IllegalArgumentException: Unsupported class file version: 73
ASM 9.11.1 : java.lang.IllegalArgumentException: Unsupported class file version 73.0
major 99:
java.lang.classfile : java.lang.IllegalArgumentException: Unsupported class file version: 99
ASM 9.11.1 : java.lang.IllegalArgumentException: Unsupported class file version 99.0
PASS major 69 parses with java.lang.classfile
PASS one version above the JDK's own is rejected by java.lang.classfile
PASS ASM 9.11.1 still reads major 72 (Java 28)
PASS ASM 9.11.1 rejects major 73
exit=0