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