On Wed, 26 Apr 2023 14:46:53 GMT, Chen Liang <li...@openjdk.org> wrote:
>> This patch aims to correct handling of annotations on parameters with the >> help of `MethodParameters` attribute, which will be always available once >> #9862 is integrated. >> >> It utilizes and expands upon the existing parameter matching logic present >> in `Executable::getAllGenericParameterTypes`, and delegate parameter >> parameterized types, parameter annotation, and parameter type annotation >> accesses through the matched results, if matching is available. If matching >> failed, it falls back to existing heuristics that works without >> `MethodParameters` attributes for annotations, in >> `Executable::handleParameterNumberMismatch` and >> `TypeAnnotationParser::buildAnnotatedTypes` (renamed >> `buildAnnotatedTypesWithHeuristics` in this patch) >> >> `ParameterMappingTest` covers these scenarios with class files that have >> `MethodParameters` or `Signature` attributes stripped or preserved to ensure >> the new Reflection API implementation works for both class files generated >> before #9862 and after its integration. >> >> Also special thanks to Joe Darcy for reviewing 8304918 (#13183); this brings >> much convenience to this patch. > > Chen Liang has updated the pull request incrementally with one additional > commit since the last revision: > > Fix assuming match without MethodParameters for type annotations, move > implementation related to getAnnotatedParameterTypes to around it This patch has been updated to the latest Class-File API. May I request a review again? Removed unused parameter. ------------- PR Comment: https://git.openjdk.org/jdk/pull/13664#issuecomment-1951382844 PR Review Comment: https://git.openjdk.org/jdk/pull/13664#discussion_r1493804544