On Mon, 29 Apr 2024 18:55:24 GMT, Vicente Romero <vrom...@openjdk.org> wrote:
>> Reflection is not retrieving generic type information for mandated >> parameters. This is a known issue which has been explicitly stated in the >> API of some reflection methods. Fix for >> [JDK-8292275](https://bugs.openjdk.org/browse/JDK-8292275) made the >> parameters of compact constructors of record classes `mandated` as specified >> in the spec. But this implied that users that previous to this change could >> retrieve the generic type of parameters of compact constructors now they >> can't anymore. The proposed fix is to try to retrieve generic type >> information for mandated parameters if available plus changing the spec of >> the related reflection methods. >> >> TIA > > Vicente Romero has updated the pull request incrementally with one additional > commit since the last revision: > > minor refactoring src/java.base/share/classes/java/lang/reflect/Executable.java line 286: > 284: * declared parameter in addition to explicitly declared ones. > 285: * Also note that compact constructors of a record class may have > 286: * implicitly ({@linkplain > java.compiler/javax.lang.model.util.Elements.Origin#MANDATED mandated}) > declared parameters. I think a better version of this edit is `{@linkplain java.compiler/javax.lang.model.util.Elements.Origin#MANDATED implicitly declared}` src/java.base/share/classes/java/lang/reflect/Executable.java line 287: > 285: * Also note that compact constructors of a record class may have > 286: * implicitly ({@linkplain > java.compiler/javax.lang.model.util.Elements.Origin#MANDATED mandated}) > declared parameters. > 287: * Finally note that as a <a > href="{@docRoot}/java.base/java/lang/reflect/package-summary.html#LanguageJvmModel">modeling I believe syntax like `{@link java.lang.reflect##LanguageJvmModel modeling artifact}` can be used instead of the href link. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17070#discussion_r1583699306 PR Review Comment: https://git.openjdk.org/jdk/pull/17070#discussion_r1583702180