RFR: 8330802: Desugar switch in Locale::createLocale
Chen Liang
liach at openjdk.org
Mon Apr 22 13:51:29 UTC 2024
On Mon, 22 Apr 2024 13:38:58 GMT, Claes Redestad <redestad at openjdk.org> 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
More information about the core-libs-dev
mailing list