From daa5a4bd124d539daa3c67a3e29dcd0eee20c44d Mon Sep 17 00:00:00 2001 From: Claes Redestad Date: Tue, 23 Apr 2024 08:00:07 +0000 Subject: [PATCH] 8330802: Desugar switch in Locale::createLocale Reviewed-by: alanb, liach, rriggs, naoto, mchung --- src/java.base/share/classes/java/util/Locale.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/java.base/share/classes/java/util/Locale.java b/src/java.base/share/classes/java/util/Locale.java index bcdf32d6f8b..0f8474ec12d 100644 --- a/src/java.base/share/classes/java/util/Locale.java +++ b/src/java.base/share/classes/java/util/Locale.java @@ -995,11 +995,11 @@ public final class Locale implements Cloneable, Serializable { private static final ReferencedKeyMap LOCALE_CACHE = ReferencedKeyMap.create(true, ConcurrentHashMap::new); private static Locale createLocale(Object key) { - return switch (key) { - case BaseLocale base -> new Locale(base, null); - case LocaleKey lk -> new Locale(lk.base, lk.exts); - default -> throw new InternalError("should not happen"); - }; + if (key instanceof BaseLocale base) { + return new Locale(base, null); + } + LocaleKey lk = (LocaleKey)key; + return new Locale(lk.base, lk.exts); } private static final class LocaleKey {