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 // java.util.Currency$SpecialCaseEntry this
        start local 1 // long cutOverTime
        start local 3 // java.lang.String oldCurrency
        start local 4 // java.lang.String newCurrency
        start local 5 // int oldCurrencyFraction
        start local 6 // int newCurrencyFraction
        start local 7 // int oldCurrencyNumericCode
        start local 8 // int newCurrencyNumericCode
         0: .line 951
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 954
            aload 0 /* this */
            lload 1 /* cutOverTime */
            putfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
         2: .line 955
            aload 0 /* this */
            aload 3 /* oldCurrency */
            putfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
         3: .line 956
            aload 0 /* this */
            aload 4 /* newCurrency */
            putfield java.util.Currency$SpecialCaseEntry.newCurrency:Ljava/lang/String;
         4: .line 957
            aload 0 /* this */
            iload 5 /* oldCurrencyFraction */
            putfield java.util.Currency$SpecialCaseEntry.oldCurrencyFraction:I
         5: .line 958
            aload 0 /* this */
            iload 6 /* newCurrencyFraction */
            putfield java.util.Currency$SpecialCaseEntry.newCurrencyFraction:I
         6: .line 959
            aload 0 /* this */
            iload 7 /* oldCurrencyNumericCode */
            putfield java.util.Currency$SpecialCaseEntry.oldCurrencyNumericCode:I
         7: .line 960
            aload 0 /* this */
            iload 8 /* newCurrencyNumericCode */
            putfield java.util.Currency$SpecialCaseEntry.newCurrencyNumericCode:I
         8: .line 961
            return
        end local 8 // int newCurrencyNumericCode
        end local 7 // int oldCurrencyNumericCode
        end local 6 // int newCurrencyFraction
        end local 5 // int oldCurrencyFraction
        end local 4 // java.lang.String newCurrency
        end local 3 // java.lang.String oldCurrency
        end local 1 // long cutOverTime
        end local 0 // java.util.Currency$SpecialCaseEntry this
      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 // java.util.Currency$SpecialCaseEntry this
        start local 1 // java.lang.String currencyCode
        start local 2 // int fraction
        start local 3 // int numericCode
         0: .line 965
            aload 0 /* this */
            ldc 9223372036854775807
            aload 1 /* currencyCode */
            ldc ""
            iload 2 /* fraction */
            iconst_0
            iload 3 /* numericCode */
            iconst_0
            invokespecial java.util.Currency$SpecialCaseEntry.<init>:(JLjava/lang/String;Ljava/lang/String;IIII)V
         1: .line 966
            return
        end local 3 // int numericCode
        end local 2 // int fraction
        end local 1 // java.lang.String currencyCode
        end local 0 // java.util.Currency$SpecialCaseEntry this
      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 // java.lang.String code
        start local 1 // int fraction
        start local 2 // int numeric
         0: .line 970
            getstatic java.util.Currency.specialCasesList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 3 /* size */
        start local 3 // int size
         1: .line 971
            iconst_0
            istore 4 /* index */
        start local 4 // int index
         2: goto 10
         3: .line 972
      StackMap locals: int int
      StackMap stack:
            getstatic java.util.Currency.specialCasesList:Ljava/util/List;
            iload 4 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Currency$SpecialCaseEntry
            astore 5 /* scEntry */
        start local 5 // java.util.Currency$SpecialCaseEntry scEntry
         4: .line 973
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
            aload 0 /* code */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         5: .line 974
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrencyFraction:I
            iload 1 /* fraction */
            if_icmpne 9
         6: .line 975
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrencyNumericCode:I
            iload 2 /* numeric */
            if_icmpne 9
         7: .line 976
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            ldc 9223372036854775807
            lcmp
            ifne 9
         8: .line 977
            iload 4 /* index */
            ireturn
        end local 5 // java.util.Currency$SpecialCaseEntry scEntry
         9: .line 971
      StackMap locals:
      StackMap stack:
            iinc 4 /* index */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* index */
            iload 3 /* size */
            if_icmplt 3
        end local 4 // int index
        11: .line 980
            iconst_m1
            ireturn
        end local 3 // int size
        end local 2 // int numeric
        end local 1 // int fraction
        end local 0 // java.lang.String code
      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 // java.lang.String code
         0: .line 985
            aconst_null
            astore 1 /* fractionAndNumericCode */
        start local 1 // int[] fractionAndNumericCode
         1: .line 986
            getstatic java.util.Currency.specialCasesList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         2: .line 987
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         3: goto 18
         4: .line 988
      StackMap locals: int[] int int
      StackMap stack:
            getstatic java.util.Currency.specialCasesList:Ljava/util/List;
            iload 3 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Currency$SpecialCaseEntry
            astore 4 /* scEntry */
        start local 4 // java.util.Currency$SpecialCaseEntry scEntry
         5: .line 989
            aload 4 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
            aload 0 /* code */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
            aload 4 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            ldc 9223372036854775807
            lcmp
            ifeq 7
         6: .line 990
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 4 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            lcmp
            ifge 11
         7: .line 992
      StackMap locals: java.util.Currency$SpecialCaseEntry
      StackMap stack:
            iconst_2
            newarray 10
            astore 1 /* fractionAndNumericCode */
         8: .line 993
            aload 1 /* fractionAndNumericCode */
            iconst_0
            aload 4 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrencyFraction:I
            iastore
         9: .line 994
            aload 1 /* fractionAndNumericCode */
            iconst_1
            aload 4 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrencyNumericCode:I
            iastore
        10: .line 995
            goto 19
        11: .line 996
      StackMap locals:
      StackMap stack:
            aload 4 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.newCurrency:Ljava/lang/String;
            aload 0 /* code */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        12: .line 997
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 4 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            lcmp
            iflt 17
        13: .line 999
            iconst_2
            newarray 10
            astore 1 /* fractionAndNumericCode */
        14: .line 1000
            aload 1 /* fractionAndNumericCode */
            iconst_0
            aload 4 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.newCurrencyFraction:I
            iastore
        15: .line 1001
            aload 1 /* fractionAndNumericCode */
            iconst_1
            aload 4 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.newCurrencyNumericCode:I
            iastore
        16: .line 1002
            goto 19
        end local 4 // java.util.Currency$SpecialCaseEntry scEntry
        17: .line 987
      StackMap locals:
      StackMap stack:
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
        18: iload 3 /* index */
            iload 2 /* size */
            if_icmplt 4
        end local 3 // int index
        19: .line 1005
      StackMap locals:
      StackMap stack:
            aload 1 /* fractionAndNumericCode */
            areturn
        end local 2 // int size
        end local 1 // int[] fractionAndNumericCode
        end local 0 // java.lang.String code
      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 // java.lang.String code
         0: .line 1010
            getstatic java.util.Currency.specialCasesList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 1 /* size */
        start local 1 // int size
         1: .line 1011
            iconst_0
            istore 2 /* index */
        start local 2 // int index
         2: goto 11
         3: .line 1012
      StackMap locals: int int
      StackMap stack:
            getstatic java.util.Currency.specialCasesList:Ljava/util/List;
            iload 2 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Currency$SpecialCaseEntry
            astore 3 /* scEntry */
        start local 3 // java.util.Currency$SpecialCaseEntry scEntry
         4: .line 1013
            aload 3 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
            aload 0 /* code */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
            aload 3 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            ldc 9223372036854775807
            lcmp
            ifeq 6
         5: .line 1014
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 3 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            lcmp
            ifge 7
         6: .line 1016
      StackMap locals: java.util.Currency$SpecialCaseEntry
      StackMap stack:
            iload 2 /* index */
            ireturn
         7: .line 1017
      StackMap locals:
      StackMap stack:
            aload 3 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.newCurrency:Ljava/lang/String;
            aload 0 /* code */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 1018
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 3 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            lcmp
            iflt 10
         9: .line 1020
            iload 2 /* index */
            ireturn
        end local 3 // java.util.Currency$SpecialCaseEntry scEntry
        10: .line 1011
      StackMap locals:
      StackMap stack:
            iinc 2 /* index */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* index */
            iload 1 /* size */
            if_icmplt 3
        end local 2 // int index
        12: .line 1023
            iconst_m1
            ireturn
        end local 1 // int size
        end local 0 // java.lang.String code
      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 // int tableEntry
         0: .line 1029
            iload 0 /* tableEntry */
            bipush 31
            iand
            iconst_1
            isub
            ireturn
        end local 0 // int tableEntry
      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