Bug: Compact record constructor is missing generic type info on parameters

Liam Miller-Cushon cushon at google.com
Tue Apr 23 19:50:58 UTC 2024


The only noteworthy difference in the class file for the record with the
compact constructor is that the parameter has the 'mandated' flag set.

I think the behaviour is due to this logic
<https://github.com/openjdk/jdk/blob/09b88098ff544fec1a4e94bfbbdc21b6c8433abb/src/java.base/share/classes/java/lang/reflect/Executable.java#L344-L345>
in
Executable#getAllGenericParameterTypes (which is used by
Parameter#getParameterizedType):

// If we hit a synthetic or mandated parameter,
// use the non generic parameter info.

On Tue, Apr 23, 2024 at 12:47 PM Patrick Doyle <p.r.doyle at gmail.com> wrote:

> Thanks, Archie. I've submitted the bug report to bugs.java.com.
> --
> Patrick Doyle
> p.r.doyle at gmail.com
>
>
> On Tue, Apr 23, 2024 at 3:29 PM Archie Cobbs <archie.cobbs at gmail.com>
> wrote:
>
>> Hi Patrick,
>>
>> If it's just a normal bug, file it at https://bugs.java.com/bugdatabase/
>> and it will eventually get triaged over to https://bugs.openjdk.org/
>>
>> If it's a language question, e.g., a suggestion for some minor
>> improvement, this list would be appropriate.
>>
>> -Archie
>>
>> On Tue, Apr 23, 2024 at 1:38 PM Patrick Doyle <p.r.doyle at gmail.com>
>> wrote:
>>
>>> Hi all,
>>>
>>> Is this the wrong place to report bugs like this? What would be the
>>> right place?
>>>
>>> Thanks,
>>> --
>>> Patrick Doyle
>>> p.r.doyle at gmail.com
>>>
>>>
>>> On Mon, Feb 19, 2024 at 8:52 AM Patrick Doyle <p.r.doyle at gmail.com>
>>> wrote:
>>>
>>>> Hi all,
>>>>
>>>> I have a JUnit5 test case that demonstrates that if you use the compact
>>>> constructor syntax in a record, the reflection info will be missing generic
>>>> type information. Implicit constructors work fine, as do explicit canonical
>>>> constructors.
>>>>
>>>> I found this on Temurin 21.0.2 and the Adoptium project suggested I
>>>> post here.
>>>>
>>>> The unit test can be found in the Adoptium bug report:
>>>> https://github.com/adoptium/adoptium-support/issues/1025
>>>>
>>>> Let me know if there's anything I can do to help.
>>>>
>>>> Thanks,
>>>> --
>>>> Patrick Doyle
>>>> p.r.doyle at gmail.com
>>>>
>>>
>>
>> --
>> Archie L. Cobbs
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/amber-dev/attachments/20240423/c595e37a/attachment.htm>


More information about the amber-dev mailing list