RFR: 8294969: Convert jdk.jdeps javap to use the Classfile API [v13]

Adam Sotona asotona at openjdk.org
Thu Sep 14 20:01:52 UTC 2023


On Thu, 14 Sep 2023 16:38:36 GMT, Brian Goetz <briangoetz at openjdk.org> wrote:

>> Adam Sotona has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   applied suggested changes from review
>
> src/java.base/share/classes/jdk/internal/classfile/ClassReader.java line 184:
> 
>> 182:      */
>> 183:     ConstantValueEntry readConstantValueEntry(int offset);
>> 184: 
> 
> I'm not sure that all this additional API surface carries its weight in ClassReader, when each of these methods just called readEntry() and casts to the desired type?  I can see two alternate ways here:
> 
>  - Ordinary casts at the use site (worse error handling, but ultimately the same result), or
>  -  A single method 
> 
> <T extends ConstantPoolEntry> T readEntry(int pos, Class<T> t)

We need at least `<T extends PoolEntry> T readEntry(int pos, Class<T> t)` to throw `ConstantPoolException` instead of `ClassCastException` from broken entries.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/11411#discussion_r1326453583


More information about the compiler-dev mailing list