RFR: 8342206: Convenience method to check if a constant pool entry matches nominal descriptors [v3]
Adam Sotona
asotona at openjdk.org
Mon Apr 28 07:24:46 UTC 2025
On Fri, 25 Apr 2025 16:36:53 GMT, Chen Liang <liach at openjdk.org> wrote:
>> The ClassFile API promotes usage of constant nominal descriptors over literal strings. However, for `class` file parsing, currently the efficient way to check if a constant pool entry matches a desired descriptor is via unrolling them back to strings. However, string unrolling is ugly, and often times confusing, such as internal names versus field descriptors.
>>
>> As a result, I propose to provide new methods that compare constant pool entries with the potential symbolic descriptors they represent. This is no less efficient as checking raw string equality, avoids exceptional failure behaviors of conversion to symbolic descriptors, and avoids potential programmer errors stemming from raw string handling. See the CSR for a full story.
>
> 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 five additional commits since the last revision:
>
> - Extract the actual tests, move pool entry spawning to the bottom
> - Merge branch 'master' of https://github.com/openjdk/jdk into feature/cf-equals-sym
> - Rename UTF8 test methods to be different from other test methods
> - Merge branch 'master' of https://github.com/openjdk/jdk into feature/cf-equals-sym
> - 8342206: Convenience method to check if a constant pool entry matches nominal descriptors
ConstantDescSymbolsTest looks a bit better now.
Thank you.
-------------
Marked as reviewed by asotona (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/23548#pullrequestreview-2798229279
More information about the core-libs-dev
mailing list