class sun.util.TimeZoneNameUtility$TimeZoneNameGetter implements sun.util.LocaleServiceProviderPool$LocalizedObjectGetter<java.util.spi.TimeZoneNameProvider, java.lang.String[]>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.util.TimeZoneNameUtility$TimeZoneNameGetter
super_class: java.lang.Object
{
private static final sun.util.TimeZoneNameUtility$TimeZoneNameGetter INSTANCE;
descriptor: Lsun/util/TimeZoneNameUtility$TimeZoneNameGetter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lsun/util/TimeZoneNameUtility;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.util.TimeZoneNameUtility$TimeZoneNameGetter.$assertionsDisabled:Z
3: new sun.util.TimeZoneNameUtility$TimeZoneNameGetter
dup
invokespecial sun.util.TimeZoneNameUtility$TimeZoneNameGetter.<init>:()V
4: putstatic sun.util.TimeZoneNameUtility$TimeZoneNameGetter.INSTANCE:Lsun/util/TimeZoneNameUtility$TimeZoneNameGetter;
5: return
LocalVariableTable:
Start End Slot Name Signature
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
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/util/TimeZoneNameUtility$TimeZoneNameGetter;
public java.lang.String[] getObject(java.util.spi.TimeZoneNameProvider, java.util.Locale, java.lang.String, java.lang.Object[]);
descriptor: (Ljava/util/spi/TimeZoneNameProvider;Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)[Ljava/lang/String;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic sun.util.TimeZoneNameUtility$TimeZoneNameGetter.$assertionsDisabled:Z
ifne 1
aload 4
arraylength
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 2: aload 3
astore 6
start local 6 3: aload 6
ldc "GMT"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: aload 1
aload 2
aload 6
invokestatic sun.util.TimeZoneNameUtility$TimeZoneNameGetter.buildZoneStrings:(Ljava/util/spi/TimeZoneNameProvider;Ljava/util/Locale;Ljava/lang/String;)[Ljava/lang/String;
astore 5
5: goto 19
6: StackMap locals: java.lang.String[] java.lang.String
StackMap stack:
invokestatic sun.util.calendar.ZoneInfo.getAliasTable:()Ljava/util/Map;
astore 7
start local 7 7: aload 7
ifnull 19
8: aload 7
aload 6
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 14
9: aload 6
astore 8
start local 8 10: goto 12
11: StackMap locals: java.util.Map java.lang.String
StackMap stack:
aload 6
astore 8
12: StackMap locals:
StackMap stack:
aload 7
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
dup
astore 6
ifnonnull 11
13: aload 8
astore 6
end local 8 14: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 6
invokestatic sun.util.TimeZoneNameUtility$TimeZoneNameGetter.buildZoneStrings:(Ljava/util/spi/TimeZoneNameProvider;Ljava/util/Locale;Ljava/lang/String;)[Ljava/lang/String;
astore 5
15: aload 5
ifnonnull 19
16: aload 1
aload 2
17: aload 6
aload 7
aload 7
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
18: invokestatic sun.util.TimeZoneNameUtility$TimeZoneNameGetter.examineAliases:(Ljava/util/spi/TimeZoneNameProvider;Ljava/util/Locale;Ljava/lang/String;Ljava/util/Map;Ljava/util/Set;)[Ljava/lang/String;
astore 5
end local 7 19: StackMap locals:
StackMap stack:
aload 5
ifnull 21
20: aload 5
iconst_0
aload 3
aastore
21: StackMap locals:
StackMap stack:
aload 5
areturn
end local 6 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 22 0 this Lsun/util/TimeZoneNameUtility$TimeZoneNameGetter;
0 22 1 timeZoneNameProvider Ljava/util/spi/TimeZoneNameProvider;
0 22 2 locale Ljava/util/Locale;
0 22 3 requestID Ljava/lang/String;
0 22 4 params [Ljava/lang/Object;
2 22 5 names [Ljava/lang/String;
3 22 6 queryID Ljava/lang/String;
7 19 7 aliases Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
10 14 8 prevID Ljava/lang/String;
MethodParameters:
Name Flags
timeZoneNameProvider
locale
requestID
params
private static java.lang.String[] examineAliases(java.util.spi.TimeZoneNameProvider, java.util.Locale, java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.util.Set<java.util.Map$Entry<java.lang.String, java.lang.String>>);
descriptor: (Ljava/util/spi/TimeZoneNameProvider;Ljava/util/Locale;Ljava/lang/String;Ljava/util/Map;Ljava/util/Set;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
aload 2
invokeinterface java.util.Map.containsValue:(Ljava/lang/Object;)Z
ifeq 12
1: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 11
StackMap locals: java.util.spi.TimeZoneNameProvider java.util.Locale java.lang.String java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
2: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 3: aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
4: aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 5: aload 0
aload 1
aload 7
invokestatic sun.util.TimeZoneNameUtility$TimeZoneNameGetter.buildZoneStrings:(Ljava/util/spi/TimeZoneNameProvider;Ljava/util/Locale;Ljava/lang/String;)[Ljava/lang/String;
astore 8
start local 8 6: aload 8
ifnull 8
7: aload 8
areturn
8: StackMap locals: java.util.spi.TimeZoneNameProvider java.util.Locale java.lang.String java.util.Map java.util.Set java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String[]
StackMap stack:
aload 0
aload 1
aload 7
aload 3
aload 4
invokestatic sun.util.TimeZoneNameUtility$TimeZoneNameGetter.examineAliases:(Ljava/util/spi/TimeZoneNameProvider;Ljava/util/Locale;Ljava/lang/String;Ljava/util/Map;Ljava/util/Set;)[Ljava/lang/String;
astore 8
9: aload 8
ifnull 11
10: aload 8
areturn
end local 8 end local 7 end local 5 11: StackMap locals: java.util.spi.TimeZoneNameProvider java.util.Locale java.lang.String java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
12: StackMap locals: java.util.spi.TimeZoneNameProvider java.util.Locale java.lang.String java.util.Map java.util.Set
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 13 0 tznp Ljava/util/spi/TimeZoneNameProvider;
0 13 1 locale Ljava/util/Locale;
0 13 2 id Ljava/lang/String;
0 13 3 aliases Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 13 4 aliasesSet Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;
3 11 5 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
5 11 7 alias Ljava/lang/String;
6 11 8 names [Ljava/lang/String;
Signature: (Ljava/util/spi/TimeZoneNameProvider;Ljava/util/Locale;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;>;)[Ljava/lang/String;
MethodParameters:
Name Flags
tznp
locale
id
aliases
aliasesSet
private static java.lang.String[] buildZoneStrings(java.util.spi.TimeZoneNameProvider, java.util.Locale, java.lang.String);
descriptor: (Ljava/util/spi/TimeZoneNameProvider;Ljava/util/Locale;Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iconst_5
anewarray java.lang.String
astore 3
start local 3 1: iconst_1
istore 4
start local 4 2: goto 9
3: StackMap locals: java.lang.String[] int
StackMap stack:
aload 3
iload 4
aload 0
aload 2
iload 4
iconst_3
if_icmplt 4
iconst_1
goto 5
StackMap locals: java.util.spi.TimeZoneNameProvider java.util.Locale java.lang.String java.lang.String[] int
StackMap stack: java.lang.String[] int java.util.spi.TimeZoneNameProvider java.lang.String
4: iconst_0
StackMap locals: java.util.spi.TimeZoneNameProvider java.util.Locale java.lang.String java.lang.String[] int
StackMap stack: java.lang.String[] int java.util.spi.TimeZoneNameProvider java.lang.String int
5: iload 4
iconst_2
irem
aload 1
invokevirtual java.util.spi.TimeZoneNameProvider.getDisplayName:(Ljava/lang/String;ZILjava/util/Locale;)Ljava/lang/String;
aastore
6: iload 4
iconst_3
if_icmplt 8
aload 3
iload 4
aaload
ifnonnull 8
7: aload 3
iload 4
aload 3
iload 4
iconst_2
isub
aaload
aastore
8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iconst_4
if_icmple 3
end local 4 10: aload 3
iconst_1
aaload
ifnonnull 12
11: aconst_null
astore 3
12: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 tznp Ljava/util/spi/TimeZoneNameProvider;
0 13 1 locale Ljava/util/Locale;
0 13 2 id Ljava/lang/String;
1 13 3 names [Ljava/lang/String;
2 10 4 i I
MethodParameters:
Name Flags
tznp
locale
id
public java.lang.Object getObject(java.lang.Object, java.util.Locale, java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
0: aload 0
aload 1
checkcast java.util.spi.TimeZoneNameProvider
aload 2
aload 3
aload 4
invokevirtual sun.util.TimeZoneNameUtility$TimeZoneNameGetter.getObject:(Ljava/util/spi/TimeZoneNameProvider;Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)[Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lsun/util/LocaleServiceProviderPool$LocalizedObjectGetter<Ljava/util/spi/TimeZoneNameProvider;[Ljava/lang/String;>;
SourceFile: "TimeZoneNameUtility.java"
NestHost: sun.util.TimeZoneNameUtility
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract LocalizedObjectGetter = sun.util.LocaleServiceProviderPool$LocalizedObjectGetter of sun.util.LocaleServiceProviderPool
private TimeZoneNameGetter = sun.util.TimeZoneNameUtility$TimeZoneNameGetter of sun.util.TimeZoneNameUtility