public final class java.util.Currency implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.util.Currency
super_class: java.lang.Object
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -158308464356906721
private final java.lang.String currencyCode;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final transient int defaultFractionDigits;
descriptor: I
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private final transient int numericCode;
descriptor: I
flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
private static java.util.concurrent.ConcurrentMap<java.lang.String, java.util.Currency> instances;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/util/Currency;>;
private static java.util.HashSet<java.util.Currency> available;
descriptor: Ljava/util/HashSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/HashSet<Ljava/util/Currency;>;
static int formatVersion;
descriptor: I
flags: (0x0008) ACC_STATIC
static int dataVersion;
descriptor: I
flags: (0x0008) ACC_STATIC
static int[] mainTable;
descriptor: [I
flags: (0x0008) ACC_STATIC
static java.util.List<java.util.Currency$SpecialCaseEntry> specialCasesList;
descriptor: Ljava/util/List;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/List<Ljava/util/Currency$SpecialCaseEntry;>;
static java.util.List<java.util.Currency$OtherCurrencyEntry> otherCurrenciesList;
descriptor: Ljava/util/List;
flags: (0x0008) ACC_STATIC
Signature: Ljava/util/List<Ljava/util/Currency$OtherCurrencyEntry;>;
private static final int MAGIC_NUMBER;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1131770436
private static final int A_TO_Z;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 26
private static final int INVALID_COUNTRY_ENTRY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 127
private static final int COUNTRY_WITHOUT_CURRENCY_ENTRY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 512
private static final int SIMPLE_CASE_COUNTRY_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int SIMPLE_CASE_COUNTRY_FINAL_CHAR_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 31
private static final int SIMPLE_CASE_COUNTRY_DEFAULT_DIGITS_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 480
private static final int SIMPLE_CASE_COUNTRY_DEFAULT_DIGITS_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int SIMPLE_CASE_COUNTRY_MAX_DEFAULT_DIGITS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final int SPECIAL_CASE_COUNTRY_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 512
private static final int SPECIAL_CASE_COUNTRY_INDEX_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 31
private static final int SPECIAL_CASE_COUNTRY_INDEX_DELTA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int COUNTRY_TYPE_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 512
private static final int NUMERIC_CODE_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1047552
private static final int NUMERIC_CODE_SHIFT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int VALID_FORMAT_VERSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int SYMBOL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int DISPLAYNAME;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.util.concurrent.ConcurrentHashMap
dup
bipush 7
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
putstatic java.util.Currency.instances:Ljava/util/concurrent/ConcurrentMap;
1: new java.util.Currency$1
dup
invokespecial java.util.Currency$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield java.util.Currency.currencyCode:Ljava/lang/String;
2: aload 0
iload 2
putfield java.util.Currency.defaultFractionDigits:I
3: aload 0
iload 3
putfield java.util.Currency.numericCode:I
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/Currency;
0 5 1 currencyCode Ljava/lang/String;
0 5 2 defaultFractionDigits I
0 5 3 numericCode I
MethodParameters:
Name Flags
currencyCode
defaultFractionDigits
numericCode
public static java.util.Currency getInstance(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Currency;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc -2147483648
iconst_0
invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 currencyCode Ljava/lang/String;
MethodParameters:
Name Flags
currencyCode
private static java.util.Currency getInstance(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Ljava/util/Currency;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.Currency.instances:Ljava/util/concurrent/ConcurrentMap;
aload 0
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Currency
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: java.util.Currency
StackMap stack:
iload 1
ldc -2147483648
if_icmpne 28
4: iconst_0
istore 4
start local 4 5: aload 0
invokevirtual java.lang.String.length:()I
iconst_3
if_icmpeq 7
6: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
7: StackMap locals: int
StackMap stack:
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 8: aload 0
iconst_1
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 9: iload 5
iload 6
invokestatic java.util.Currency.getMainTableEntry:(CC)I
istore 7
start local 7 10: iload 7
sipush 512
iand
ifne 17
11: iload 7
bipush 127
if_icmpeq 17
12: aload 0
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 65
isub
iload 7
bipush 31
iand
if_icmpne 17
13: iload 7
sipush 480
iand
iconst_5
ishr
istore 1
14: iload 7
ldc 1047552
iand
bipush 10
ishr
istore 2
15: iconst_1
istore 4
16: goto 22
17: StackMap locals: int int int
StackMap stack:
aload 0
invokestatic java.util.Currency$SpecialCaseEntry.findEntry:(Ljava/lang/String;)[I
astore 8
start local 8 18: aload 8
ifnull 22
19: aload 8
iconst_0
iaload
istore 1
20: aload 8
iconst_1
iaload
istore 2
21: iconst_1
istore 4
end local 8 22: StackMap locals:
StackMap stack:
iload 4
ifne 28
23: aload 0
invokestatic java.util.Currency$OtherCurrencyEntry.findEntry:(Ljava/lang/String;)Ljava/util/Currency$OtherCurrencyEntry;
astore 8
start local 8 24: aload 8
ifnonnull 26
25: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
26: StackMap locals: java.util.Currency$OtherCurrencyEntry
StackMap stack:
aload 8
getfield java.util.Currency$OtherCurrencyEntry.fraction:I
istore 1
27: aload 8
getfield java.util.Currency$OtherCurrencyEntry.numericCode:I
istore 2
end local 8 end local 7 end local 6 end local 5 end local 4 28: StackMap locals: java.lang.String int int java.util.Currency
StackMap stack:
new java.util.Currency
dup
aload 0
iload 1
iload 2
invokespecial java.util.Currency.<init>:(Ljava/lang/String;II)V
29: astore 4
start local 4 30: getstatic java.util.Currency.instances:Ljava/util/concurrent/ConcurrentMap;
aload 0
aload 4
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Currency
astore 3
31: aload 3
ifnull 32
aload 3
goto 33
StackMap locals: java.util.Currency
StackMap stack:
32: aload 4
StackMap locals:
StackMap stack: java.util.Currency
33: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 currencyCode Ljava/lang/String;
0 34 1 defaultFractionDigits I
0 34 2 numericCode I
1 34 3 instance Ljava/util/Currency;
5 28 4 found Z
8 28 5 char1 C
9 28 6 char2 C
10 28 7 tableEntry I
18 22 8 fractionAndNumericCode [I
24 28 8 ocEntry Ljava/util/Currency$OtherCurrencyEntry;
30 34 4 currencyVal Ljava/util/Currency;
MethodParameters:
Name Flags
currencyCode
defaultFractionDigits
numericCode
public static java.util.Currency getInstance(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/util/Currency;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
ldc "cu"
invokevirtual java.util.Locale.getUnicodeLocaleType:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 1
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
invokestatic java.util.Currency.getInstance:(Ljava/lang/String;)Ljava/util/Currency;
3: areturn
4: StackMap locals: java.util.Locale java.lang.String
StackMap stack: java.lang.IllegalArgumentException
pop
5: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.util.locale.provider.CalendarDataUtility.findRegionOverride:(Ljava/util/Locale;)Ljava/util/Locale;
invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
astore 2
start local 2 6: aload 2
ifnull 7
aload 2
ldc "^[a-zA-Z]{2}$"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifne 8
7: StackMap locals: java.lang.String
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 2
iconst_0
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 9: aload 2
iconst_1
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 10: iload 3
iload 4
invokestatic java.util.Currency.getMainTableEntry:(CC)I
istore 5
start local 5 11: iload 5
sipush 512
iand
ifne 19
12: iload 5
bipush 127
if_icmpeq 19
13: iload 5
bipush 31
iand
bipush 65
iadd
i2c
istore 6
start local 6 14: iload 5
sipush 480
iand
iconst_5
ishr
istore 7
start local 7 15: iload 5
ldc 1047552
iand
bipush 10
ishr
istore 8
start local 8 16: new java.lang.StringBuilder
dup
aload 2
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 9
start local 9 17: aload 9
iload 6
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: aload 9
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 7
iload 8
invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
areturn
end local 9 end local 8 end local 7 end local 6 19: StackMap locals: int int int
StackMap stack:
iload 5
bipush 127
if_icmpne 21
20: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
21: StackMap locals:
StackMap stack:
iload 5
sipush 512
if_icmpne 23
22: aconst_null
areturn
23: StackMap locals:
StackMap stack:
iload 5
invokestatic java.util.Currency$SpecialCaseEntry.toIndex:(I)I
istore 6
start local 6 24: getstatic java.util.Currency.specialCasesList:Ljava/util/List;
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.Currency$SpecialCaseEntry
astore 7
start local 7 25: aload 7
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
ldc 9223372036854775807
lcmp
ifeq 27
26: invokestatic java.lang.System.currentTimeMillis:()J
aload 7
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
lcmp
ifge 31
27: StackMap locals: int java.util.Currency$SpecialCaseEntry
StackMap stack:
aload 7
getfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
28: aload 7
getfield java.util.Currency$SpecialCaseEntry.oldCurrencyFraction:I
29: aload 7
getfield java.util.Currency$SpecialCaseEntry.oldCurrencyNumericCode:I
30: invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
areturn
31: StackMap locals:
StackMap stack:
aload 7
getfield java.util.Currency$SpecialCaseEntry.newCurrency:Ljava/lang/String;
32: aload 7
getfield java.util.Currency$SpecialCaseEntry.newCurrencyFraction:I
33: aload 7
getfield java.util.Currency$SpecialCaseEntry.newCurrencyNumericCode:I
34: invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
areturn
end local 7 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 35 0 locale Ljava/util/Locale;
1 35 1 override Ljava/lang/String;
6 35 2 country Ljava/lang/String;
9 35 3 char1 C
10 35 4 char2 C
11 35 5 tableEntry I
14 19 6 finalChar C
15 19 7 defaultFractionDigits I
16 19 8 numericCode I
17 19 9 sb Ljava/lang/StringBuilder;
24 35 6 index I
25 35 7 scEntry Ljava/util/Currency$SpecialCaseEntry;
Exception table:
from to target type
2 3 4 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
locale
public static java.util.Set<java.util.Currency> getAvailableCurrencies();
descriptor: ()Ljava/util/Set;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=0
0: ldc Ljava/util/Currency;
dup
astore 0
monitorenter
1: getstatic java.util.Currency.available:Ljava/util/HashSet;
ifnonnull 43
2: new java.util.HashSet
dup
sipush 256
invokespecial java.util.HashSet.<init>:(I)V
putstatic java.util.Currency.available:Ljava/util/HashSet;
3: bipush 65
istore 1
start local 1 4: goto 38
5: StackMap locals: java.lang.Class int
StackMap stack:
bipush 65
istore 2
start local 2 6: goto 36
7: StackMap locals: int
StackMap stack:
iload 1
iload 2
invokestatic java.util.Currency.getMainTableEntry:(CC)I
istore 3
start local 3 8: iload 3
sipush 512
iand
ifne 19
9: iload 3
bipush 127
if_icmpeq 19
10: iload 3
bipush 31
iand
bipush 65
iadd
i2c
istore 4
start local 4 11: iload 3
sipush 480
iand
iconst_5
ishr
istore 5
start local 5 12: iload 3
ldc 1047552
iand
bipush 10
ishr
istore 6
start local 6 13: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 7
start local 7 14: aload 7
iload 1
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: aload 7
iload 2
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
16: aload 7
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: getstatic java.util.Currency.available:Ljava/util/HashSet;
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 5
iload 6
invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 5 end local 4 18: goto 35
StackMap locals: int
StackMap stack:
19: iload 3
sipush 512
iand
sipush 512
if_icmpne 35
20: iload 3
bipush 127
if_icmpeq 35
21: iload 3
sipush 512
if_icmpeq 35
22: iload 3
invokestatic java.util.Currency$SpecialCaseEntry.toIndex:(I)I
istore 4
start local 4 23: 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 24: aload 5
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
ldc 9223372036854775807
lcmp
ifeq 26
25: invokestatic java.lang.System.currentTimeMillis:()J
aload 5
getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
lcmp
ifge 31
26: StackMap locals: int java.util.Currency$SpecialCaseEntry
StackMap stack:
getstatic java.util.Currency.available:Ljava/util/HashSet;
aload 5
getfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
27: aload 5
getfield java.util.Currency$SpecialCaseEntry.oldCurrencyFraction:I
28: aload 5
getfield java.util.Currency$SpecialCaseEntry.oldCurrencyNumericCode:I
29: invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
30: goto 35
31: StackMap locals:
StackMap stack:
getstatic java.util.Currency.available:Ljava/util/HashSet;
aload 5
getfield java.util.Currency$SpecialCaseEntry.newCurrency:Ljava/lang/String;
32: aload 5
getfield java.util.Currency$SpecialCaseEntry.newCurrencyFraction:I
33: aload 5
getfield java.util.Currency$SpecialCaseEntry.newCurrencyNumericCode:I
34: invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 4 end local 3 35: StackMap locals:
StackMap stack:
iload 2
iconst_1
iadd
i2c
istore 2
StackMap locals:
StackMap stack:
36: iload 2
bipush 90
if_icmple 7
end local 2 37: iload 1
iconst_1
iadd
i2c
istore 1
StackMap locals:
StackMap stack:
38: iload 1
bipush 90
if_icmple 5
end local 1 39: getstatic java.util.Currency.otherCurrenciesList:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 42
StackMap locals: java.lang.Class top java.util.Iterator
StackMap stack:
40: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Currency$OtherCurrencyEntry
astore 1
start local 1 41: getstatic java.util.Currency.available:Ljava/util/HashSet;
aload 1
getfield java.util.Currency$OtherCurrencyEntry.currencyCode:Ljava/lang/String;
invokestatic java.util.Currency.getInstance:(Ljava/lang/String;)Ljava/util/Currency;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 1 42: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
43: StackMap locals: java.lang.Class
StackMap stack:
aload 0
monitorexit
44: goto 47
StackMap locals:
StackMap stack: java.lang.Throwable
45: aload 0
monitorexit
46: athrow
47: StackMap locals:
StackMap stack:
getstatic java.util.Currency.available:Ljava/util/HashSet;
invokevirtual java.util.HashSet.clone:()Ljava/lang/Object;
checkcast java.util.Set
astore 0
start local 0 48: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
4 39 1 c1 C
6 37 2 c2 C
8 35 3 tableEntry I
11 18 4 finalChar C
12 18 5 defaultFractionDigits I
13 18 6 numericCode I
14 18 7 sb Ljava/lang/StringBuilder;
23 35 4 index I
24 35 5 scEntry Ljava/util/Currency$SpecialCaseEntry;
41 42 1 entry Ljava/util/Currency$OtherCurrencyEntry;
48 49 0 result Ljava/util/Set<Ljava/util/Currency;>;
Exception table:
from to target type
1 44 45 any
45 46 45 any
Signature: ()Ljava/util/Set<Ljava/util/Currency;>;
public java.lang.String getCurrencyCode();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Currency.currencyCode:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Currency;
public java.lang.String getSymbol();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.util.Locale$Category.DISPLAY:Ljava/util/Locale$Category;
invokestatic java.util.Locale.getDefault:(Ljava/util/Locale$Category;)Ljava/util/Locale;
invokevirtual java.util.Currency.getSymbol:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Currency;
public java.lang.String getSymbol(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: ldc Ljava/util/spi/CurrencyNameProvider;
invokestatic sun.util.locale.provider.LocaleServiceProviderPool.getPool:(Ljava/lang/Class;)Lsun/util/locale/provider/LocaleServiceProviderPool;
1: astore 2
start local 2 2: aload 1
invokestatic sun.util.locale.provider.CalendarDataUtility.findRegionOverride:(Ljava/util/Locale;)Ljava/util/Locale;
astore 1
3: aload 2
4: getstatic java.util.Currency$CurrencyNameGetter.INSTANCE:Ljava/util/Currency$CurrencyNameGetter;
5: aload 1
aload 0
getfield java.util.Currency.currencyCode:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
6: 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
astore 3
start local 3 7: aload 3
ifnull 9
8: aload 3
areturn
9: StackMap locals: sun.util.locale.provider.LocaleServiceProviderPool java.lang.String
StackMap stack:
aload 0
getfield java.util.Currency.currencyCode:Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/Currency;
0 10 1 locale Ljava/util/Locale;
2 10 2 pool Lsun/util/locale/provider/LocaleServiceProviderPool;
7 10 3 symbol Ljava/lang/String;
MethodParameters:
Name Flags
locale
public int getDefaultFractionDigits();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Currency.defaultFractionDigits:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Currency;
public int getNumericCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Currency.numericCode:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Currency;
public java.lang.String getNumericCodeAsString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.Currency.numericCode:I
bipush 100
if_icmpge 6
1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 2: aload 1
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: aload 0
getfield java.util.Currency.numericCode:I
bipush 10
if_icmpge 5
4: aload 1
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
aload 0
getfield java.util.Currency.numericCode:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 6: StackMap locals:
StackMap stack:
aload 0
getfield java.util.Currency.numericCode:I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/Currency;
2 6 1 sb Ljava/lang/StringBuilder;
public java.lang.String getDisplayName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.util.Locale$Category.DISPLAY:Ljava/util/Locale$Category;
invokestatic java.util.Locale.getDefault:(Ljava/util/Locale$Category;)Ljava/util/Locale;
invokevirtual java.util.Currency.getDisplayName:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Currency;
public java.lang.String getDisplayName(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: ldc Ljava/util/spi/CurrencyNameProvider;
invokestatic sun.util.locale.provider.LocaleServiceProviderPool.getPool:(Ljava/lang/Class;)Lsun/util/locale/provider/LocaleServiceProviderPool;
1: astore 2
start local 2 2: aload 2
3: getstatic java.util.Currency$CurrencyNameGetter.INSTANCE:Ljava/util/Currency$CurrencyNameGetter;
4: aload 1
aload 0
getfield java.util.Currency.currencyCode:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
5: 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
astore 3
start local 3 6: aload 3
ifnull 8
7: aload 3
areturn
8: StackMap locals: sun.util.locale.provider.LocaleServiceProviderPool java.lang.String
StackMap stack:
aload 0
getfield java.util.Currency.currencyCode:Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/util/Currency;
0 9 1 locale Ljava/util/Locale;
2 9 2 pool Lsun/util/locale/provider/LocaleServiceProviderPool;
6 9 3 result Ljava/lang/String;
MethodParameters:
Name Flags
locale
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Currency.currencyCode:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Currency;
private java.lang.Object readResolve();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.Currency.currencyCode:Ljava/lang/String;
invokestatic java.util.Currency.getInstance:(Ljava/lang/String;)Ljava/util/Currency;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Currency;
private static int getMainTableEntry(char, char);
descriptor: (CC)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 0
bipush 65
if_icmplt 1
iload 0
bipush 90
if_icmpgt 1
iload 1
bipush 65
if_icmplt 1
iload 1
bipush 90
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic java.util.Currency.mainTable:[I
iload 0
bipush 65
isub
bipush 26
imul
iload 1
bipush 65
isub
iadd
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 char1 C
0 3 1 char2 C
MethodParameters:
Name Flags
char1
char2
private static void setMainTableEntry(char, char, int);
descriptor: (CCI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
bipush 65
if_icmplt 1
iload 0
bipush 90
if_icmpgt 1
iload 1
bipush 65
if_icmplt 1
iload 1
bipush 90
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic java.util.Currency.mainTable:[I
iload 0
bipush 65
isub
bipush 26
imul
iload 1
bipush 65
isub
iadd
iload 2
iastore
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 char1 C
0 4 1 char2 C
0 4 2 entry I
MethodParameters:
Name Flags
char1
char2
entry
private static int[] readIntArray(java.io.DataInputStream, int);
descriptor: (Ljava/io/DataInputStream;I)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iload 1
newarray 10
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int[] int
StackMap stack:
aload 2
iload 3
aload 0
invokevirtual java.io.DataInputStream.readInt:()I
iastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 1
if_icmplt 3
end local 3 6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 dis Ljava/io/DataInputStream;
0 7 1 count I
1 7 2 ret [I
2 6 3 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dis
count
private static java.util.List<java.util.Currency$SpecialCaseEntry> readSpecialCases(java.io.DataInputStream, int);
descriptor: (Ljava/io/DataInputStream;I)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=13, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
iload 1
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: iconst_0
istore 11
start local 11 2: goto 17
3: StackMap locals: java.io.DataInputStream int java.util.List top top top top top top top top int
StackMap stack:
aload 0
invokevirtual java.io.DataInputStream.readLong:()J
lstore 3
start local 3 4: aload 0
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 5
start local 5 5: aload 0
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 6
start local 6 6: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 7
start local 7 7: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 8
start local 8 8: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 9
start local 9 9: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 10
start local 10 10: new java.util.Currency$SpecialCaseEntry
dup
lload 3
11: aload 5
aload 6
12: iload 7
iload 8
13: iload 9
iload 10
14: invokespecial java.util.Currency$SpecialCaseEntry.<init>:(JLjava/lang/String;Ljava/lang/String;IIII)V
astore 12
start local 12 15: aload 2
aload 12
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 16: iinc 11 1
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 StackMap locals:
StackMap stack:
17: iload 11
iload 1
if_icmplt 3
end local 11 18: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 dis Ljava/io/DataInputStream;
0 19 1 count I
1 19 2 list Ljava/util/List<Ljava/util/Currency$SpecialCaseEntry;>;
4 17 3 cutOverTime J
5 17 5 oldCurrency Ljava/lang/String;
6 17 6 newCurrency Ljava/lang/String;
7 17 7 oldCurrencyFraction I
8 17 8 newCurrencyFraction I
9 17 9 oldCurrencyNumericCode I
10 17 10 newCurrencyNumericCode I
2 18 11 i I
15 16 12 sc Ljava/util/Currency$SpecialCaseEntry;
Exceptions:
throws java.io.IOException
Signature: (Ljava/io/DataInputStream;I)Ljava/util/List<Ljava/util/Currency$SpecialCaseEntry;>;
MethodParameters:
Name Flags
dis
count
private static java.util.List<java.util.Currency$OtherCurrencyEntry> readOtherCurrencies(java.io.DataInputStream, int);
descriptor: (Ljava/io/DataInputStream;I)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
iload 1
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: iconst_0
istore 6
start local 6 2: goto 12
3: StackMap locals: java.io.DataInputStream int java.util.List top top top int
StackMap stack:
aload 0
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 3
start local 3 4: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 4
start local 4 5: aload 0
invokevirtual java.io.DataInputStream.readInt:()I
istore 5
start local 5 6: new java.util.Currency$OtherCurrencyEntry
dup
aload 3
7: iload 4
8: iload 5
9: invokespecial java.util.Currency$OtherCurrencyEntry.<init>:(Ljava/lang/String;II)V
astore 7
start local 7 10: aload 2
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 11: iinc 6 1
end local 5 end local 4 end local 3 StackMap locals:
StackMap stack:
12: iload 6
iload 1
if_icmplt 3
end local 6 13: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 dis Ljava/io/DataInputStream;
0 14 1 count I
1 14 2 list Ljava/util/List<Ljava/util/Currency$OtherCurrencyEntry;>;
4 12 3 currencyCode Ljava/lang/String;
5 12 4 fraction I
6 12 5 numericCode I
2 13 6 i I
10 11 7 oc Ljava/util/Currency$OtherCurrencyEntry;
Exceptions:
throws java.io.IOException
Signature: (Ljava/io/DataInputStream;I)Ljava/util/List<Ljava/util/Currency$OtherCurrencyEntry;>;
MethodParameters:
Name Flags
dis
count
private static void replaceCurrencyData(java.util.regex.Pattern, java.lang.String, java.lang.String);
descriptor: (Ljava/util/regex/Pattern;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.length:()I
iconst_2
if_icmpeq 7
1: new java.lang.StringBuilder
dup
ldc "currency.properties entry for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc " is ignored because of the invalid country code."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: aconst_null
5: invokestatic java.util.Currency.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
6: return
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
start local 3 8: aload 3
invokevirtual java.util.regex.Matcher.find:()Z
ifeq 9
aload 3
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
ifnonnull 15
aload 2
bipush 44
invokestatic java.util.Currency.countOccurrences:(Ljava/lang/String;C)I
iconst_3
if_icmplt 15
9: StackMap locals: java.util.regex.Matcher
StackMap stack:
new java.lang.StringBuilder
dup
ldc "currency.properties entry for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " ignored because the value format is not recognized."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: aconst_null
13: invokestatic java.util.Currency.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
14: return
15: StackMap locals:
StackMap stack:
aload 3
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
ifnull 29
aload 3
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.util.Currency.isPastCutoverDate:(Ljava/lang/String;)Z
ifne 29
16: new java.lang.StringBuilder
dup
ldc "currency.properties entry for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: ldc " ignored since cutover date has not passed :"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: aconst_null
20: invokestatic java.util.Currency.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
21: return
22: StackMap locals:
StackMap stack: java.text.ParseException
astore 4
start local 4 23: new java.lang.StringBuilder
dup
ldc "currency.properties entry for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc " ignored since exception encountered :"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.text.ParseException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: aconst_null
27: invokestatic java.util.Currency.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
28: return
end local 4 29: StackMap locals:
StackMap stack:
aload 3
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 4
start local 4 30: aload 3
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 5
start local 5 31: iload 5
bipush 10
ishl
istore 6
start local 6 32: aload 3
iconst_3
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 7
start local 7 33: iload 7
bipush 9
if_icmple 41
34: new java.lang.StringBuilder
dup
ldc "currency.properties entry for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: ldc " ignored since the fraction is more than "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
36: bipush 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
37: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
38: aconst_null
39: invokestatic java.util.Currency.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
40: return
41: StackMap locals: java.util.regex.Pattern java.lang.String java.lang.String java.util.regex.Matcher java.lang.String int int int
StackMap stack:
aload 4
iload 7
iload 5
invokestatic java.util.Currency$SpecialCaseEntry.indexOf:(Ljava/lang/String;II)I
istore 8
start local 8 42: iload 8
iconst_m1
if_icmpne 46
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
aload 4
iconst_0
invokevirtual java.lang.String.charAt:(I)C
if_icmpne 44
43: aload 1
iconst_1
invokevirtual java.lang.String.charAt:(I)C
aload 4
iconst_1
invokevirtual java.lang.String.charAt:(I)C
if_icmpeq 46
44: StackMap locals: int
StackMap stack:
getstatic java.util.Currency.specialCasesList:Ljava/util/List;
new java.util.Currency$SpecialCaseEntry
dup
aload 4
iload 7
iload 5
invokespecial java.util.Currency$SpecialCaseEntry.<init>:(Ljava/lang/String;II)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
45: getstatic java.util.Currency.specialCasesList:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 8
46: StackMap locals:
StackMap stack:
iload 8
iconst_m1
if_icmpne 51
47: iload 6
iload 7
iconst_5
ishl
48: aload 4
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 65
isub
49: ior
ior
istore 6
50: goto 54
51: StackMap locals:
StackMap stack:
sipush 512
52: iload 8
iconst_1
iadd
53: ior
istore 6
54: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
aload 1
iconst_1
invokevirtual java.lang.String.charAt:(I)C
iload 6
invokestatic java.util.Currency.setMainTableEntry:(CCI)V
55: return
end local 8 end local 7 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 56 0 pattern Ljava/util/regex/Pattern;
0 56 1 ctry Ljava/lang/String;
0 56 2 curdata Ljava/lang/String;
8 56 3 m Ljava/util/regex/Matcher;
23 29 4 ex Ljava/text/ParseException;
30 56 4 code Ljava/lang/String;
31 56 5 numeric I
32 56 6 entry I
33 56 7 fraction I
42 56 8 index I
Exception table:
from to target type
15 21 22 Class java.text.ParseException
MethodParameters:
Name Flags
pattern
ctry
curdata
private static boolean isPastCutoverDate(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: new java.text.SimpleDateFormat
dup
ldc "yyyy-MM-dd'T'HH:mm:ss"
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
astore 1
start local 1 1: aload 1
ldc "UTC"
invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
invokevirtual java.text.SimpleDateFormat.setTimeZone:(Ljava/util/TimeZone;)V
2: aload 1
iconst_0
invokevirtual java.text.SimpleDateFormat.setLenient:(Z)V
3: aload 1
aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.text.SimpleDateFormat.parse:(Ljava/lang/String;)Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lstore 2
start local 2 4: invokestatic java.lang.System.currentTimeMillis:()J
lload 2
lcmp
ifle 5
iconst_1
ireturn
StackMap locals: java.text.SimpleDateFormat long
StackMap stack:
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 s Ljava/lang/String;
1 6 1 format Ljava/text/SimpleDateFormat;
4 6 2 time J
Exceptions:
throws java.text.ParseException
MethodParameters:
Name Flags
s
private static int countOccurrences(java.lang.String, char);
descriptor: (Ljava/lang/String;C)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
invokevirtual java.lang.String.toCharArray:()[C
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: java.lang.String int int top int int char[]
StackMap stack:
2: aload 6
iload 4
caload
istore 3
start local 3 3: iload 3
iload 1
if_icmpne 5
4: iinc 2 1
end local 3 5: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 2
7: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 value Ljava/lang/String;
0 8 1 match C
1 8 2 count I
3 5 3 c C
MethodParameters:
Name Flags
value
match
private static void info(java.lang.String, java.lang.Throwable);
descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: ldc "java.util.Currency"
invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
astore 2
start local 2 1: aload 2
getstatic sun.util.logging.PlatformLogger$Level.INFO:Lsun/util/logging/PlatformLogger$Level;
invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
ifeq 6
2: aload 1
ifnull 5
3: aload 2
aload 0
aload 1
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
4: goto 6
5: StackMap locals: sun.util.logging.PlatformLogger
StackMap stack:
aload 2
aload 0
invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 message Ljava/lang/String;
0 7 1 t Ljava/lang/Throwable;
1 7 2 logger Lsun/util/logging/PlatformLogger;
MethodParameters:
Name Flags
message
t
}
SourceFile: "Currency.java"
NestMembers:
java.util.Currency$1 java.util.Currency$CurrencyNameGetter java.util.Currency$OtherCurrencyEntry java.util.Currency$SpecialCaseEntry
InnerClasses:
java.util.Currency$1
private CurrencyNameGetter = java.util.Currency$CurrencyNameGetter of java.util.Currency
private OtherCurrencyEntry = java.util.Currency$OtherCurrencyEntry of java.util.Currency
private SpecialCaseEntry = java.util.Currency$SpecialCaseEntry of java.util.Currency
public final Category = java.util.Locale$Category of java.util.Locale
public abstract LocalizedObjectGetter = sun.util.locale.provider.LocaleServiceProviderPool$LocalizedObjectGetter of sun.util.locale.provider.LocaleServiceProviderPool
public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger