On Mon, 22 Apr 2024 13:38:58 GMT, Claes Redestad <[email protected]> wrote:
>> src/java.base/share/classes/java/util/Locale.java line 1003:
>>
>>> 1001: return new Locale(lk.base, lk.exts);
>>> 1002: } else {
>>> 1003: throw new InternalError("should not happen");
>>
>> The default branch was required in the switch. Can we simply drop this
>> branch and have a ClassCastException to LocalKey instead?
>
> You mean like so:
>
>
> private static Locale createLocale(Object key) {
> if (key instanceof BaseLocale base) {
> return new Locale(base, null);
> }
> LocaleKey lk = (LocaleKey)key;
> return new Locale(lk.base, lk.exts);
> }
> ```
> ?
>
> I think this should be alright. The type of the "impossibly" thrown
> exception would differ.
Yes, just like how jli handles the Class/MethodType union type arguments.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18882#discussion_r1574791014