On Mon, 22 Apr 2024 13:38:58 GMT, Claes Redestad <redes...@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