RFR: 8332614: Type-checked ConstantPool.entryByIndex and ClassReader.readEntryOrNull [v6]

Chen Liang liach at openjdk.org
Wed May 29 19:27:17 UTC 2024


> I propose to add type-checked ConstantPool.entryByIndex and ClassReader.readEntryOrNull taking an extra Class parameter, which throws ConstantPoolException instead of ClassCastException on type mismatch, which can happen to malformed ClassFiles.
> 
> Requesting a review from @asotona. Thanks!
> 
> Proposal on mailing list: https://mail.openjdk.org/pipermail/classfile-api-dev/2024-May/000512.html

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 10 additional commits since the last revision:

 - Add test to validate ClassReader behavior
 - Merge branch 'master' of https://github.com/openjdk/jdk into feature/entry-by-type
 - Null-check the entry class eagerly, avoid returning null or throwing IAE
 - Remove redundant import
 - Use switch
 - Merge branch 'master' of https://github.com/openjdk/jdk into feature/entry-by-type
 - Merge branch 'master' of https://github.com/openjdk/jdk into feature/entry-by-type
 - Merge branch 'master' of https://github.com/openjdk/jdk into feature/entry-by-type
 - Use constants, beautify code
 - 8332614: Type-checked ConstantPool.entryByIndex and ClassReader.readEntryOrNull

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/19330/files
  - new: https://git.openjdk.org/jdk/pull/19330/files/ec56ce98..e9021f24

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

  Stats: 1876 lines in 41 files changed: 1109 ins; 498 del; 269 mod
  Patch: https://git.openjdk.org/jdk/pull/19330.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19330/head:pull/19330

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


More information about the core-libs-dev mailing list