class java.util.Currency$SpecialCaseEntry
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.util.Currency$SpecialCaseEntry
super_class: java.lang.Object
{
private final long cutOverTime;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String oldCurrency;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String newCurrency;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int oldCurrencyFraction;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int newCurrencyFraction;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int oldCurrencyNumericCode;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int newCurrencyNumericCode;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(long, java.lang.String, java.lang.String, int, int, int, int);
descriptor: (JLjava/lang/String;Ljava/lang/String;IIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=8
start local 0 start local 1 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
lload 1
putfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
2: aload 0
aload 3
putfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
3: aload 0
aload 4
putfield java.util.Currency$SpecialCaseEntry.newCurrency:Ljava/lang/String;
4: aload 0
iload 5
putfield java.util.Currency$SpecialCaseEntry.oldCurrencyFraction:I
5: aload 0
iload 6
putfield java.util.Currency$SpecialCaseEntry.newCurrencyFraction:I
6: aload 0
iload 7
putfield java.util.Currency$SpecialCaseEntry.oldCurrencyNumericCode:I
7: aload 0
iload 8
putfield java.util.Currency$SpecialCaseEntry.newCurrencyNumericCode:I
8: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/Currency$SpecialCaseEntry;
0 9 1 cutOverTime J
0 9 3 oldCurrency Ljava/lang/String;
0 9 4 newCurrency Ljava/lang/String;
0 9 5 oldCurrencyFraction I
0 9 6 newCurrencyFraction I
0 9 7 oldCurrencyNumericCode I
0 9 8 newCurrencyNumericCode I
MethodParameters:
Name Flags
cutOverTime
oldCurrency
newCurrency
oldCurrencyFraction
newCurrencyFraction
oldCurrencyNumericCode
newCurrencyNumericCode
private void <init>(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc 9223372036854775807
aload 1
ldc ""
iload 2
iconst_0
iload 3
iconst_0
invokespecial java.util.Currency$SpecialCaseEntry.<init>:(JLjava/lang/String;Ljava/lang/String;IIII)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/Currency$SpecialCaseEntry;
0 2 1 currencyCode Ljava/lang/String;
0 2 2 fraction I
0 2 3 numericCode I
MethodParameters:
Name Flags
currencyCode
fraction
numericCode
private static int indexOf(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.Currency.specialCasesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 10
3: StackMap locals: int int
StackMap stack:
getstatic java.util.Currency.specialCasesList:Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Currency$SpecialCaseEntry
astore 5
start local 5 4: aload 5
getfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
5: aload 5
getfield java.util.Currency$SpecialCaseEntry.oldCurrencyFraction:I
iload 1
if_icmpne 9
6: aload 5
getfield java.util.Currency$SpecialCaseEntry.oldCurrencyNumericCode:I
iload 2
if_icmpne 9
7: aload 5
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
ldc 9223372036854775807
lcmp
ifne 9
8: iload 4
ireturn
end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 3
if_icmplt 3
end local 4 11: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 code Ljava/lang/String;
0 12 1 fraction I
0 12 2 numeric I
1 12 3 size I
2 11 4 index I
4 9 5 scEntry Ljava/util/Currency$SpecialCaseEntry;
MethodParameters:
Name Flags
code
fraction
numeric
private static int[] findEntry(java.lang.String);
descriptor: (Ljava/lang/String;)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: getstatic java.util.Currency.specialCasesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 18
4: StackMap locals: int[] int int
StackMap stack:
getstatic java.util.Currency.specialCasesList:Ljava/util/List;
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Currency$SpecialCaseEntry
astore 4
start local 4 5: aload 4
getfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
aload 4
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
ldc 9223372036854775807
lcmp
ifeq 7
6: invokestatic java.lang.System.currentTimeMillis:()J
aload 4
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
lcmp
ifge 11
7: StackMap locals: java.util.Currency$SpecialCaseEntry
StackMap stack:
iconst_2
newarray 10
astore 1
8: aload 1
iconst_0
aload 4
getfield java.util.Currency$SpecialCaseEntry.oldCurrencyFraction:I
iastore
9: aload 1
iconst_1
aload 4
getfield java.util.Currency$SpecialCaseEntry.oldCurrencyNumericCode:I
iastore
10: goto 19
11: StackMap locals:
StackMap stack:
aload 4
getfield java.util.Currency$SpecialCaseEntry.newCurrency:Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
12: invokestatic java.lang.System.currentTimeMillis:()J
aload 4
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
lcmp
iflt 17
13: iconst_2
newarray 10
astore 1
14: aload 1
iconst_0
aload 4
getfield java.util.Currency$SpecialCaseEntry.newCurrencyFraction:I
iastore
15: aload 1
iconst_1
aload 4
getfield java.util.Currency$SpecialCaseEntry.newCurrencyNumericCode:I
iastore
16: goto 19
end local 4 17: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
iload 2
if_icmplt 4
end local 3 19: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 code Ljava/lang/String;
1 20 1 fractionAndNumericCode [I
2 20 2 size I
3 19 3 index I
5 17 4 scEntry Ljava/util/Currency$SpecialCaseEntry;
MethodParameters:
Name Flags
code
private static int currencyCodeIndex(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: getstatic java.util.Currency.specialCasesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 11
3: StackMap locals: int int
StackMap stack:
getstatic java.util.Currency.specialCasesList:Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Currency$SpecialCaseEntry
astore 3
start local 3 4: aload 3
getfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
aload 3
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
ldc 9223372036854775807
lcmp
ifeq 6
5: invokestatic java.lang.System.currentTimeMillis:()J
aload 3
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
lcmp
ifge 7
6: StackMap locals: java.util.Currency$SpecialCaseEntry
StackMap stack:
iload 2
ireturn
7: StackMap locals:
StackMap stack:
aload 3
getfield java.util.Currency$SpecialCaseEntry.newCurrency:Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: invokestatic java.lang.System.currentTimeMillis:()J
aload 3
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
lcmp
iflt 10
9: iload 2
ireturn
end local 3 10: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
11: iload 2
iload 1
if_icmplt 3
end local 2 12: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 code Ljava/lang/String;
1 13 1 size I
2 12 2 index I
4 10 3 scEntry Ljava/util/Currency$SpecialCaseEntry;
MethodParameters:
Name Flags
code
private static int toIndex(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 31
iand
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 tableEntry I
MethodParameters:
Name Flags
tableEntry
}
SourceFile: "Currency.java"
NestHost: java.util.Currency
InnerClasses:
private SpecialCaseEntry = java.util.Currency$SpecialCaseEntry of java.util.Currency