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:
@@ -0,0 +1,30 @@
|
||||
$ javap -public java.lang.classfile.** on each JDK, then diff by class (24: OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12), 26: OpenJDK Runtime Environment Temurin-26.0.2.1+1 (build 26.0.2.1+1))
|
||||
|
||||
=== JDK 24 -> JDK 25 ===
|
||||
+ java.lang.classfile.ClassFile: public static final int JAVA_25_VERSION;
|
||||
~ java.lang.classfile.attribute.UnknownAttribute
|
||||
was: public interface java.lang.classfile.attribute.UnknownAttribute extends java.lang.classfile.Attribute<java.lang.classfile.attribute.UnknownAttribute>, java.lang.classfile.ClassElement, java.lang.classfile.MethodElement, java.lang.classfile.FieldElement {
|
||||
now: public interface java.lang.classfile.attribute.UnknownAttribute extends java.lang.classfile.Attribute<java.lang.classfile.attribute.UnknownAttribute>, java.lang.classfile.ClassElement, java.lang.classfile.MethodElement, java.lang.classfile.FieldElement, java.lang.classfile.CodeElement {
|
||||
+ java.lang.classfile.constantpool.ClassEntry: public abstract boolean matches(java.lang.constant.ClassDesc);
|
||||
+ java.lang.classfile.constantpool.MethodTypeEntry: public abstract boolean matches(java.lang.constant.MethodTypeDesc);
|
||||
+ java.lang.classfile.constantpool.ModuleEntry: public abstract boolean matches(java.lang.constant.ModuleDesc);
|
||||
+ java.lang.classfile.constantpool.PackageEntry: public abstract boolean matches(java.lang.constant.PackageDesc);
|
||||
+ java.lang.classfile.constantpool.StringEntry: public abstract boolean equalsString(java.lang.String);
|
||||
+ java.lang.classfile.constantpool.Utf8Entry: public abstract boolean isFieldType(java.lang.constant.ClassDesc);
|
||||
+ java.lang.classfile.constantpool.Utf8Entry: public abstract boolean isMethodType(java.lang.constant.MethodTypeDesc);
|
||||
239 classes in old, 239 in new, 9 difference(s)
|
||||
|
||||
=== JDK 25 -> JDK 26 ===
|
||||
+ java.lang.classfile.ClassFile: public static final int JAVA_26_VERSION;
|
||||
239 classes in old, 239 in new, 1 difference(s)
|
||||
|
||||
=== is it a preview API on JDK 24? ===
|
||||
$ javap -v java.lang.classfile.ClassFile | grep -ci PreviewFeature
|
||||
24.0.2+12: 0
|
||||
25.0.5+8-LTS: 0
|
||||
26.0.2.1+1: 0
|
||||
|
||||
=== @since of ClassFile ===
|
||||
jdk-24.0.2+12: * @since 24
|
||||
jdk-25.0.5+8: * @since 24
|
||||
jdk-26.0.2.1+1: * @since 24
|
||||
Reference in New Issue
Block a user