Classfile Processing API - AccessFlag aligned with JDK
Adam Sotona
adam.sotona at oracle.com
Tue Jun 28 08:41:44 UTC 2022
Hi,
Part of the Classfile Processing API is access flags modeling. We held our own copy of AccessFlag class while waiting for JDK-8266670<https://bugs.openjdk.org/browse/JDK-8266670> “Better modeling of access flags in core reflection”.
Good news is that java.lang.reflect.AccesFlag class has been recently integrated into JDK.
And the two commits below refactored Classfile API (including tests, benchmarks and JDK use cases) to use java.lang.reflect.AccesFlag instead.
Both branches (classfile-api-branch<https://github.com/openjdk/jdk-sandbox/tree/classfile-api-branch> and classfile-api-dev-branch<https://github.com/openjdk/jdk-sandbox/tree/classfile-api-dev-branch>) and online API doc<https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk-sandbox/classfile-api-javadoc-branch/doc/classfile-api/javadoc/jdk/classfile/package-summary.html> have been updated.
Adam
From: jdk-sandbox-changes <jdk-sandbox-changes-retn at openjdk.org> on behalf of Adam Sotona <asotona at openjdk.org>
Date: Monday, 27 June 2022 13:23
To: jdk-sandbox-changes at openjdk.org <jdk-sandbox-changes at openjdk.org>
Subject: git: openjdk/jdk-sandbox: classfile-api-dev-branch: 2 new changesets
Changeset: a1a316ea
Author: Adam Sotona <asotona at openjdk.org>
Date: 2022-06-27 12:54:51 +0000
URL: https://git.openjdk.org/jdk-sandbox/commit/a1a316ea4e4d1a2540852031f8bb5cb575bee8cf
removal of jdk.classfile.jdktypes.AccessFlag and redirection to java.lang.reflect.AccesFlag in Classfile API and tests
! src/java.base/share/classes/jdk/classfile/AccessFlags.java
! src/java.base/share/classes/jdk/classfile/ClassBuilder.java
! src/java.base/share/classes/jdk/classfile/Classfile.java
! src/java.base/share/classes/jdk/classfile/FieldBuilder.java
! src/java.base/share/classes/jdk/classfile/MethodBuilder.java
! src/java.base/share/classes/jdk/classfile/attribute/InnerClassInfo.java
! src/java.base/share/classes/jdk/classfile/attribute/MethodParameterInfo.java
! src/java.base/share/classes/jdk/classfile/attribute/ModuleAttribute.java
! src/java.base/share/classes/jdk/classfile/attribute/ModuleExportInfo.java
! src/java.base/share/classes/jdk/classfile/attribute/ModuleOpenInfo.java
! src/java.base/share/classes/jdk/classfile/attribute/ModuleRequireInfo.java
! src/java.base/share/classes/jdk/classfile/impl/AccessFlagsImpl.java
! src/java.base/share/classes/jdk/classfile/impl/ClassImpl.java
! src/java.base/share/classes/jdk/classfile/impl/StackMapDecoder.java
! src/java.base/share/classes/jdk/classfile/impl/Util.java
! src/java.base/share/classes/jdk/classfile/impl/verifier/VerificationWrapper.java
- src/java.base/share/classes/jdk/classfile/jdktypes/AccessFlag.java
! src/java.base/share/classes/jdk/classfile/snippets/PackageSnippets.java
! src/java.base/share/classes/jdk/classfile/transforms/CodeLocalsShifter.java
! test/jdk/jdk/classfile/AccessFlagsTest.java
! test/jdk/jdk/classfile/AdvancedTransformationsTest.java
! test/jdk/jdk/classfile/BuilderBlockTest.java
! test/jdk/jdk/classfile/LDCTest.java
! test/jdk/jdk/classfile/LowAdaptTest.java
! test/jdk/jdk/classfile/LvtTest.java
! test/jdk/jdk/classfile/MassAdaptCopyPrimitiveMatchCodeTest.java
! test/jdk/jdk/classfile/OneToOneTest.java
! test/jdk/jdk/classfile/OpcodesValidationTest.java
! test/jdk/jdk/classfile/StackMapsTest.java
! test/jdk/jdk/classfile/TempConstantPoolBuilderTest.java
! test/jdk/jdk/classfile/WriteTest.java
! test/jdk/jdk/classfile/examples/ExampleGallery.java
! test/micro/org/openjdk/bench/jdk/classfile/ReadMetadata.java
! test/micro/org/openjdk/bench/jdk/classfile/Write.java
Changeset: ee472295
Author: Adam Sotona <asotona at openjdk.org>
Date: 2022-06-27 13:22:35 +0000
URL: https://git.openjdk.org/jdk-sandbox/commit/ee472295ad4466ba07ddc6c22a23424b98bb9c89
redirection of AccessFlag use cases to java.lang.reflect.AccesFlag in JDK integrations
! src/java.base/share/classes/java/lang/Module.java
! src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java
! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java
! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java
! src/jdk.jdeps/share/classes/com/sun/tools/javap/AttributeWriter.java
! src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/classfile-api-dev/attachments/20220628/6c7d0f2b/attachment-0001.htm>
More information about the classfile-api-dev
mailing list