Classfile API is an internal library under package `jdk.internal.classfile` in 
JDK 21.
This pull request turns the Classfile API into a preview feature and moves it 
into `java.lang.classfile`.
It repackages all uses across JDK and tests and adds lots of missing Javadoc.

This PR goes in sync with 
[JDK-8308754](https://bugs.openjdk.org/browse/JDK-8308754): Class-File API 
(Preview) (CSR)
and [JDK-8280389](https://bugs.openjdk.org/browse/JDK-8280389): Class-File API 
(Preview) (JEP).

Online javadoc is available at: 
https://cr.openjdk.org/~asotona/JDK-8308753-preview/api/java.base/java/lang/classfile/package-summary.html

In addition to the primary transition to preview, this pull request also 
includes:
- All Classfile* classes ranamed to ClassFile* (based on JEP discussion).
- A new preview feature, `CLASSFILE_API`, has been added.
- Buildsystem tool required a little patch to support annotated modules.
- All JDK modules using the Classfile API are newly participating in the 
preview.
- All tests that use the Classfile API now have preview enabled.
- A few Javac tests not allowing preview have been partially reverted; their 
conversion can be re-applied when the Classfile API leaves preview mode.

Despite the number of affected files, this pull request is relatively 
straight-forward. The preview version of the Classfile API is based on the 
internal version of the library from the JDK master branch, and there are no 
API features added.

Please review this pull request to help the Classfile API turn into a preview.

Any comments are welcome.

Thanks,
Adam

-------------

Commit messages:
 - fixed tests
 - rename of Classfile* to ClassFile*
 - fixed javac tests
 - temporary reverted conversion of tests to Classfile API due incompatibility 
with enabled preview
 - build and tests fixes
 - Merge branch 'master' into JDK-8308753-preview
 - added jvms link to DynamicConstantPoolEntry
 - fixed EnclosingMethodAttribute javadoc
 - documented constraints of builder and factory methods
 - added package info paragraph "Consistency checks, syntax checks and 
verification"
 - ... and 310 more: https://git.openjdk.org/jdk/compare/913e43fe...6594ee74

Changes: https://git.openjdk.org/jdk/pull/15706/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15706&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8308753
  Stats: 28985 lines in 760 files changed: 12993 ins; 12505 del; 3487 mod
  Patch: https://git.openjdk.org/jdk/pull/15706.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15706/head:pull/15706

PR: https://git.openjdk.org/jdk/pull/15706

Reply via email to