RFR: 8309819: Clarify API note in Class::getName and MethodType::toMethodDescriptorString [v10]
Mandy Chung
mchung at openjdk.org
Wed Jun 28 00:28:14 UTC 2023
On Wed, 28 Jun 2023 00:18:25 GMT, Chen Liang <liach at openjdk.org> wrote:
>> The API specification for descriptorString not being a strict inverse of Class::forName and MethodType::fromDescriptorString are not entirely correct.
>>
>> 1. Class::descriptorString was never an inverse of Class::forName, which takes a binary name instead. The note about different class loaders is moved to getName, as ClassDesc requires an explicit lookup for resolution already.
>> 2. MethodType::toMethodDescriptorString ends with a meaningless sentence: "fromMethodDescriptorString, because the latter requires a suitable class loader argument.", and the "Note:" section can be replaced with an `@apiNote`.
>> 3. Both of these didn't mention hidden classes (or other non-nominally-describable classes) as a reason that prevents the inversion operation, in addition to distinct class loaders. Added valid method type descriptor/binary name as a prerequisite for the distinct class loader explanation.
>>
>> A few user-defined anchor links are replaced with updated javadoc link tag format as well. The explicit html-style links in `@see` tags are unchanged in order to retain the non-code output.
>>
>> The rendered specifications:
>> https://cr.openjdk.org/~liach/8309819/06/java.base/java/lang/Class.html
>> https://cr.openjdk.org/~liach/8309819/06/java.base/java/lang/invoke/MethodType.html
>
> Chen Liang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 15 additional commits since the last revision:
>
> - Merge branch 'master' into fix/descstring-spec
> - Update the distinct class note, thanks to mandy
> - Merge branch 'master' into fix/descstring-spec
> - produce identical component descriptors in descriptor strings -> cannot be distinguished in descriptor strings
> - Reword of the distinct-class-same-descriptor note
> - Missed recommendations from Alan
> - Review and updates for 8310242
> - Merge branch 'master' into fix/descstring-spec
> - Update the note for getName
> - Convert the note in fromDescriptorString to apiNote
> - ... and 5 more: https://git.openjdk.org/jdk/compare/87c2be06...ef7004e4
This version looks good to me.
-------------
Marked as reviewed by mchung (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/14411#pullrequestreview-1502037542
More information about the core-libs-dev
mailing list