On Mon, 2 Oct 2023 08:34:19 GMT, Adam Sotona <asot...@openjdk.org> wrote:

>> 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
>
> Adam Sotona has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   fixed javadoc typo

src/java.base/share/classes/java/lang/classfile/attribute/package-info.java 
line 27:

> 25: 
> 26: /**
> 27:  * <h2>Provides interfaces describing classfile attributes for the {@link 
> java.lang.classfile} library.</h2>

Not 100% sure about the use of `h2` (here and elsewhere).

src/java.base/share/classes/java/lang/classfile/components/ClassPrinter.java 
line 51:

> 49:  * Level of details to print or to export is driven by {@link Verbosity} 
> option.
> 50:  * <p>
> 51:  * Printing is for debugging purposes only. Printed text schema and tree 
> content and structure

Suggestion:

 * Printing is for debugging purposes only. Printed text schema, tree content 
and structure

src/java.base/share/classes/java/lang/classfile/components/CodeRelabeler.java 
line 71:

> 69:      * Creates a new instance of CodeRelabeler using provided {@link 
> java.util.function.BiFunction}
> 70:      * to re-label the code.
> 71:      * @param mapFunction function remapping labels

I found this a bit hard to read. Maybe expand to "function for remapping labels 
in the source code model", or something similar

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

PR Review Comment: https://git.openjdk.org/jdk/pull/15706#discussion_r1342707029
PR Review Comment: https://git.openjdk.org/jdk/pull/15706#discussion_r1342707621
PR Review Comment: https://git.openjdk.org/jdk/pull/15706#discussion_r1342709706

Reply via email to