On Mon, 2 Oct 2023 13:40:40 GMT, Maurizio Cimadamore <[email protected]>
wrote:
>> 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/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
Fixed, thanks.
> src/java.base/share/classes/java/lang/classfile/constantpool/ConstantPoolBuilder.java
> line 158:
>
>> 156: */
>> 157: default ClassEntry classEntry(ClassDesc classDesc) {
>> 158: if (requireNonNull(classDesc).isPrimitive()) {
>
> It is not clear to me as to whether all the methods in the API deal with null
> correctly. What we did for FFM, assuming that the classfile API is also
> null-hostile by default, was to add a single test which would try to call all
> API methods and looking for NPEs:
>
> https://github.com/openjdk/jdk/blob/2637e8ddc4ffe102418139f501fc0be8e9c5317b/test/jdk/java/foreign/TestNulls.java#L80
>
> This test has saved us many times when adding/changing API methods.
Good point, thanks.
I've create new RFE https://bugs.openjdk.org/browse/JDK-8317356 because the
test would not be so simple to cover all ClassFile API in different situations
(for example different builders implementations based on the actual context).
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15706#discussion_r1342777997
PR Review Comment: https://git.openjdk.org/jdk/pull/15706#discussion_r1342775179