On Fri, 10 Feb 2023 11:16:22 GMT, Adam Sotona <asot...@openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/classfile/constantpool/Utf8Entry.java
>>  line 47:
>> 
>>> 45:      * @param s the string to compare to
>>> 46:      */
>>> 47:     boolean equalsString(String s);
>> 
>> Whatif the provided string contains character that are not representable in 
>> Utf8? Should we throw (e.g. `IllegalArgumentException`) ?
>
> I would rather expect `false` value returned, however this case is probably 
> not covered by tests.

You almost got me, I had to think about it for a while :) 
Any String is always representable in Utf8 (or modified Utf8 used in classfile).
It is completely valid to store even 4-byte Unicode characters in Utf8Entry and 
match them with (Utf16 encoded) String. I'll add such String to the existing 
test.

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

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

Reply via email to