On Sun, 23 Apr 2023 13:13:55 GMT, ExE Boss <d...@openjdk.org> wrote:

>> Chen Liang has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Unify ofInternalName and internalName, document about CONSTANT_Class_info, 
>> remove misleading JVMS 4.4.1 links
>
> src/java.base/share/classes/java/lang/constant/ClassDesc.java line 107:
> 
>> 105:      * @see ClassDesc#internalName()
>> 106:      * @see <a href="#constant-class-info">The {@code 
>> CONSTANT_Class_info} Structure</a>
>> 107:      * @since 20
> 
> This should have `@revised`, as array descriptors are not allowed as input to 
> this method in **JDK 20**.
> Suggestion:
> 
>      * @since 20
>      * @revised 21

There's no guideline on using revised. Also, I don't think we will declare it 
revised if it starts accepting Valhalla Q-types.

> src/java.base/share/classes/java/lang/constant/ClassDesc.java line 375:
> 
>> 373:      * {@code CONSTANT_Class_info}.
>> 374:      *
>> 375:      * @throws IllegalStateException if this {@linkplain ClassDesc} 
>> describes a type
> 
> This should really throw `UnsupportedOperationException`, as the instances 
> are immutable, same as [`Class::arrayType()`]. See [JDK‑8268250] and 
> [GH‑4382] for discussion.
> 
> [`Class::arrayType()`]: 
> https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Class.html#arrayType()
> [JDK‑8268250]: https://bugs.openjdk.org/browse/JDK-8268250
> [GH‑4382]: https://github.com/openjdk/jdk/pull/4382

The choice is based on ClassDesc.nested

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13598#discussion_r1174609313
PR Review Comment: https://git.openjdk.org/jdk/pull/13598#discussion_r1174609117

Reply via email to