RFR: 8333377: Migrate Generic Signature parsing to ClassFile API [v5]

Chen Liang liach at openjdk.org
Tue Feb 25 22:21:46 UTC 2025


> Core reflection's generic signature parsing uses an ancient library with outdated visitor pattern on a tree model and contains unnecessary boilerplates. This is a duplication of ClassFile API's signature model. We should just move to ClassFile API, which is more throughoutly tested as well.
> 
> To ensure compatibility, new tests are added to ensure consistent behavior when encountering malformed signatures or signatures with missing types. The reflective objects have been preserved and the only change is that lazy expansion now happens from CF objects, to reduce compatibility risks.

Chen Liang 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 four additional commits since the last revision:

 - Improve BytecodeDescriptor error message
 - Years, test facelift
 - Merge branch 'master' of https://github.com/openjdk/jdk into feature/new-generic-info
 - 8333377: Migrate Generic Signature parsing to ClassFile API

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/19281/files
  - new: https://git.openjdk.org/jdk/pull/19281/files/dea7a235..5745bfd0

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=19281&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=19281&range=03-04

  Stats: 260667 lines in 7833 files changed: 131422 ins; 99508 del; 29737 mod
  Patch: https://git.openjdk.org/jdk/pull/19281.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19281/head:pull/19281

PR: https://git.openjdk.org/jdk/pull/19281


More information about the core-libs-dev mailing list