RFR: 8320575: generic type information lost on mandated parameters of record's compact constructors [v21]
Vicente Romero
vromero at openjdk.org
Thu May 23 20:17:26 UTC 2024
> 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 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 22 additional commits since the last revision:
- Merge branch 'master' into JDK-8320575
- addressing review comments
- Merge branch 'master' into JDK-8320575
- minor refactoring
- Merge branch 'master' into JDK-8320575
- code refactoring
- additional tests
- special case the new code for records only
- adding more tests
- Update test/jdk/java/lang/reflect/records/RecordReflectionTest.java
Co-authored-by: Andrey Turbanov <turbanoff at gmail.com>
- ... and 12 more: https://git.openjdk.org/jdk/compare/99407cc4...8ee8ffda
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17070/files
- new: https://git.openjdk.org/jdk/pull/17070/files/37010e19..8ee8ffda
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17070&range=20
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17070&range=19-20
Stats: 52649 lines in 828 files changed: 41644 ins; 7953 del; 3052 mod
Patch: https://git.openjdk.org/jdk/pull/17070.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17070/head:pull/17070
PR: https://git.openjdk.org/jdk/pull/17070
More information about the core-libs-dev
mailing list