public final class sun.util.locale.provider.TimeZoneNameUtility
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.util.locale.provider.TimeZoneNameUtility
super_class: java.lang.Object
{
private static java.util.concurrent.ConcurrentHashMap<java.util.Locale, java.lang.ref.SoftReference<java.lang.String[][]>> cachedZoneData;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/util/Locale;Ljava/lang/ref/SoftReference<[[Ljava/lang/String;>;>;
private static final java.util.Map<java.lang.String, java.lang.ref.SoftReference<java.util.Map<java.util.Locale, java.lang.String[]>>> cachedDisplayNames;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/ref/SoftReference<Ljava/util/Map<Ljava/util/Locale;[Ljava/lang/String;>;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
1: putstatic sun.util.locale.provider.TimeZoneNameUtility.cachedZoneData:Ljava/util/concurrent/ConcurrentHashMap;
2: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
3: putstatic sun.util.locale.provider.TimeZoneNameUtility.cachedDisplayNames:Ljava/util/Map;
4: return
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String[][] getZoneStrings(java.util.Locale);
descriptor: (Ljava/util/Locale;)[[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: getstatic sun.util.locale.provider.TimeZoneNameUtility.cachedZoneData:Ljava/util/concurrent/ConcurrentHashMap;
aload 0
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 2
start local 2 1: aload 2
ifnull 3
aload 2
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast java.lang.String[][]
dup
astore 1
start local 1 2: ifnonnull 6
end local 1 3: StackMap locals: java.util.Locale top java.lang.ref.SoftReference
StackMap stack:
aload 0
invokestatic sun.util.locale.provider.TimeZoneNameUtility.loadZoneStrings:(Ljava/util/Locale;)[[Ljava/lang/String;
astore 1
start local 1 4: new java.lang.ref.SoftReference
dup
aload 1
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
astore 2
5: getstatic sun.util.locale.provider.TimeZoneNameUtility.cachedZoneData:Ljava/util/concurrent/ConcurrentHashMap;
aload 0
aload 2
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: StackMap locals: java.util.Locale java.lang.String[][] java.lang.ref.SoftReference
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 locale Ljava/util/Locale;
2 3 1 zones [[Ljava/lang/String;
4 7 1 zones [[Ljava/lang/String;
1 7 2 data Ljava/lang/ref/SoftReference<[[Ljava/lang/String;>;
MethodParameters:
Name Flags
locale
private static java.lang.String[][] loadZoneStrings(java.util.Locale);
descriptor: (Ljava/util/Locale;)[[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=1
start local 0 0: ldc Ljava/util/spi/TimeZoneNameProvider;
aload 0
invokestatic sun.util.locale.provider.LocaleProviderAdapter.getAdapter:(Ljava/lang/Class;Ljava/util/Locale;)Lsun/util/locale/provider/LocaleProviderAdapter;
astore 1
start local 1 1: aload 1
invokevirtual sun.util.locale.provider.LocaleProviderAdapter.getTimeZoneNameProvider:()Ljava/util/spi/TimeZoneNameProvider;
astore 2
start local 2 2: aload 2
instanceof sun.util.locale.provider.TimeZoneNameProviderImpl
ifeq 4
3: aload 2
checkcast sun.util.locale.provider.TimeZoneNameProviderImpl
aload 0
invokevirtual sun.util.locale.provider.TimeZoneNameProviderImpl.getZoneStrings:(Ljava/util/Locale;)[[Ljava/lang/String;
areturn
4: StackMap locals: sun.util.locale.provider.LocaleProviderAdapter java.util.spi.TimeZoneNameProvider
StackMap stack:
invokestatic sun.util.locale.provider.LocaleProviderAdapter.forJRE:()Lsun/util/locale/provider/LocaleProviderAdapter;
aload 0
invokevirtual sun.util.locale.provider.LocaleProviderAdapter.getLocaleResources:(Ljava/util/Locale;)Lsun/util/locale/provider/LocaleResources;
invokevirtual sun.util.locale.provider.LocaleResources.getZoneIDs:()Ljava/util/Set;
astore 3
start local 3 5: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 4
start local 4 6: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 11
StackMap locals: java.util.Locale sun.util.locale.provider.LocaleProviderAdapter java.util.spi.TimeZoneNameProvider java.util.Set java.util.List top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 8: aload 5
aload 0
invokestatic sun.util.locale.provider.TimeZoneNameUtility.retrieveDisplayNamesImpl:(Ljava/lang/String;Ljava/util/Locale;)[Ljava/lang/String;
astore 7
start local 7 9: aload 7
ifnull 11
10: aload 4
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 5 11: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
12: aload 4
invokeinterface java.util.List.size:()I
anewarray java.lang.String[]
astore 5
start local 5 13: aload 4
aload 5
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[][]
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 locale Ljava/util/Locale;
1 14 1 adapter Lsun/util/locale/provider/LocaleProviderAdapter;
2 14 2 provider Ljava/util/spi/TimeZoneNameProvider;
5 14 3 zoneIDs Ljava/util/Set<Ljava/lang/String;>;
6 14 4 zones Ljava/util/List<[Ljava/lang/String;>;
8 11 5 key Ljava/lang/String;
9 11 7 names [Ljava/lang/String;
13 14 5 zonesArray [[Ljava/lang/String;
MethodParameters:
Name Flags
locale
public static java.lang.String[] retrieveDisplayNames(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aload 1
invokestatic sun.util.locale.provider.TimeZoneNameUtility.retrieveDisplayNamesImpl:(Ljava/lang/String;Ljava/util/Locale;)[Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 id Ljava/lang/String;
0 3 1 locale Ljava/util/Locale;
MethodParameters:
Name Flags
id
locale
public static java.lang.String retrieveGenericDisplayName(java.lang.String, int, java.util.Locale);
descriptor: (Ljava/lang/String;ILjava/util/Locale;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokestatic sun.util.locale.provider.TimeZoneNameUtility.retrieveDisplayNamesImpl:(Ljava/lang/String;Ljava/util/Locale;)[Ljava/lang/String;
astore 3
start local 3 1: aload 3
invokestatic java.util.Objects.nonNull:(Ljava/lang/Object;)Z
ifeq 3
2: aload 3
bipush 6
iload 1
isub
aaload
areturn
3: StackMap locals: java.lang.String[]
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 id Ljava/lang/String;
0 4 1 style I
0 4 2 locale Ljava/util/Locale;
1 4 3 names [Ljava/lang/String;
MethodParameters:
Name Flags
id
style
locale
public static java.lang.String retrieveDisplayName(java.lang.String, boolean, int, java.util.Locale);
descriptor: (Ljava/lang/String;ZILjava/util/Locale;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
invokestatic sun.util.locale.provider.TimeZoneNameUtility.retrieveDisplayNamesImpl:(Ljava/lang/String;Ljava/util/Locale;)[Ljava/lang/String;
astore 4
start local 4 1: aload 4
invokestatic java.util.Objects.nonNull:(Ljava/lang/Object;)Z
ifeq 5
2: aload 4
iload 1
ifeq 3
iconst_4
goto 4
StackMap locals: java.lang.String int int java.util.Locale java.lang.String[]
StackMap stack: java.lang.String[]
3: iconst_2
StackMap locals: java.lang.String int int java.util.Locale java.lang.String[]
StackMap stack: java.lang.String[] int
4: iload 2
isub
aaload
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 id Ljava/lang/String;
0 6 1 daylight Z
0 6 2 style I
0 6 3 locale Ljava/util/Locale;
1 6 4 names [Ljava/lang/String;
MethodParameters:
Name Flags
id
daylight
style
locale
private static java.lang.String[] retrieveDisplayNamesImpl(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=11, locals=7, args_size=2
start local 0 start local 1 0: ldc Ljava/util/spi/TimeZoneNameProvider;
invokestatic sun.util.locale.provider.LocaleServiceProviderPool.getPool:(Ljava/lang/Class;)Lsun/util/locale/provider/LocaleServiceProviderPool;
1: astore 2
start local 2 2: aconst_null
astore 4
start local 4 3: getstatic sun.util.locale.provider.TimeZoneNameUtility.cachedDisplayNames:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 5
start local 5 4: aload 5
invokestatic java.util.Objects.nonNull:(Ljava/lang/Object;)Z
ifeq 10
5: aload 5
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast java.util.Map
astore 4
6: aload 4
invokestatic java.util.Objects.nonNull:(Ljava/lang/Object;)Z
ifeq 10
7: aload 4
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String[]
astore 3
start local 3 8: aload 3
invokestatic java.util.Objects.nonNull:(Ljava/lang/Object;)Z
ifeq 10
9: aload 3
areturn
end local 3 10: StackMap locals: java.lang.String java.util.Locale sun.util.locale.provider.LocaleServiceProviderPool top java.util.Map java.lang.ref.SoftReference
StackMap stack:
bipush 7
anewarray java.lang.String
astore 3
start local 3 11: aload 3
iconst_0
aload 0
aastore
12: iconst_1
istore 6
start local 6 13: goto 21
14: StackMap locals: java.lang.String java.util.Locale sun.util.locale.provider.LocaleServiceProviderPool java.lang.String[] java.util.Map java.lang.ref.SoftReference int
StackMap stack:
aload 3
iload 6
aload 2
getstatic sun.util.locale.provider.TimeZoneNameUtility$TimeZoneNameGetter.INSTANCE:Lsun/util/locale/provider/TimeZoneNameUtility$TimeZoneNameGetter;
aload 1
15: iload 6
iconst_5
if_icmpge 17
iload 6
iconst_3
if_icmpge 16
ldc "std"
goto 18
StackMap locals: java.lang.String java.util.Locale sun.util.locale.provider.LocaleServiceProviderPool java.lang.String[] java.util.Map java.lang.ref.SoftReference int
StackMap stack: java.lang.String[] int sun.util.locale.provider.LocaleServiceProviderPool sun.util.locale.provider.TimeZoneNameUtility$TimeZoneNameGetter java.util.Locale
16: ldc "dst"
goto 18
StackMap locals: java.lang.String java.util.Locale sun.util.locale.provider.LocaleServiceProviderPool java.lang.String[] java.util.Map java.lang.ref.SoftReference int
StackMap stack: java.lang.String[] int sun.util.locale.provider.LocaleServiceProviderPool sun.util.locale.provider.TimeZoneNameUtility$TimeZoneNameGetter java.util.Locale
17: ldc "generic"
StackMap locals: java.lang.String java.util.Locale sun.util.locale.provider.LocaleServiceProviderPool java.lang.String[] java.util.Map java.lang.ref.SoftReference int
StackMap stack: java.lang.String[] int sun.util.locale.provider.LocaleServiceProviderPool sun.util.locale.provider.TimeZoneNameUtility$TimeZoneNameGetter java.util.Locale java.lang.String
18: iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 6
iconst_2
irem
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
aastore
19: invokevirtual sun.util.locale.provider.LocaleServiceProviderPool.getLocalizedObject:(Lsun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter;Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
aastore
20: iinc 6 1
StackMap locals:
StackMap stack:
21: iload 6
bipush 6
if_icmple 14
end local 6 22: aload 4
invokestatic java.util.Objects.isNull:(Ljava/lang/Object;)Z
ifeq 24
23: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
astore 4
24: StackMap locals:
StackMap stack:
aload 4
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
25: new java.lang.ref.SoftReference
dup
aload 4
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
astore 5
26: getstatic sun.util.locale.provider.TimeZoneNameUtility.cachedDisplayNames:Ljava/util/Map;
aload 0
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: aload 3
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 id Ljava/lang/String;
0 28 1 locale Ljava/util/Locale;
2 28 2 pool Lsun/util/locale/provider/LocaleServiceProviderPool;
8 10 3 names [Ljava/lang/String;
11 28 3 names [Ljava/lang/String;
3 28 4 perLocale Ljava/util/Map<Ljava/util/Locale;[Ljava/lang/String;>;
4 28 5 ref Ljava/lang/ref/SoftReference<Ljava/util/Map<Ljava/util/Locale;[Ljava/lang/String;>;>;
13 22 6 i I
MethodParameters:
Name Flags
id
locale
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/util/locale/provider/TimeZoneNameUtility;
}
SourceFile: "TimeZoneNameUtility.java"
NestMembers:
sun.util.locale.provider.TimeZoneNameUtility$TimeZoneNameGetter
InnerClasses:
public abstract LocalizedObjectGetter = sun.util.locale.provider.LocaleServiceProviderPool$LocalizedObjectGetter of sun.util.locale.provider.LocaleServiceProviderPool
private TimeZoneNameGetter = sun.util.locale.provider.TimeZoneNameUtility$TimeZoneNameGetter of sun.util.locale.provider.TimeZoneNameUtility