On Wed, 29 May 2024 19:27:17 GMT, Chen Liang <[email protected]> wrote:

>> 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

src/java.base/share/classes/java/lang/classfile/ClassReader.java line 142:

> 140:      * @throws ConstantPoolException if the index is out of range of the
> 141:      *         constant pool size, or zero, or the entry is not of the 
> given type
> 142:      * @since 24

I just noticed that these are marked `@since 24`. Am I correct that this should 
be `@since 23`?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19330#discussion_r1621350942

Reply via email to