public class org.eclipse.jdt.internal.compiler.codegen.DoubleCache
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.codegen.DoubleCache
  super_class: java.lang.Object
{
  private double[] keyTable;
    descriptor: [D
    flags: (0x0002) ACC_PRIVATE

  private int[] valueTable;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int elementSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
         0: .line 26
            aload 0 /* this */
            bipush 13
            invokespecial org.eclipse.jdt.internal.compiler.codegen.DoubleCache.<init>:(I)V
         1: .line 27
            return
        end local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/compiler/codegen/DoubleCache;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
        start local 1 // int initialCapacity
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
         2: .line 36
            aload 0 /* this */
            iload 1 /* initialCapacity */
            newarray 7
            putfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
         3: .line 37
            aload 0 /* this */
            iload 1 /* initialCapacity */
            newarray 10
            putfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
         4: .line 38
            return
        end local 1 // int initialCapacity
        end local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/eclipse/jdt/internal/compiler/codegen/DoubleCache;
            0    5     1  initialCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
         0: .line 43
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            arraylength
            istore 1 /* i */
        start local 1 // int i
         1: goto 4
         2: .line 44
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iload 1 /* i */
            dconst_0
            dastore
         3: .line 45
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            iload 1 /* i */
            iconst_0
            iastore
         4: .line 43
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ -1
            iload 1 /* i */
            ifge 2
        end local 1 // int i
         5: .line 47
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
         6: .line 48
            return
        end local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jdt/internal/compiler/codegen/DoubleCache;
            1    5     1     i  I

  public boolean containsKey(double);
    descriptor: (D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
        start local 1 // double key
         0: .line 55
            dload 1 /* key */
            dconst_0
            dcmpl
            ifne 14
         1: .line 56
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            istore 4 /* max */
        start local 4 // int max
         3: goto 12
         4: .line 57
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iload 3 /* i */
            daload
            dconst_0
            dcmpl
            ifne 11
         5: .line 58
            dload 1 /* key */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 5 /* value1 */
        start local 5 // long value1
         6: .line 59
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iload 3 /* i */
            daload
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 7 /* value2 */
        start local 7 // long value2
         7: .line 60
            lload 5 /* value1 */
            ldc -9223372036854775808
            lcmp
            ifne 9
            lload 7 /* value2 */
            ldc -9223372036854775808
            lcmp
            ifne 9
         8: .line 61
            iconst_1
            ireturn
         9: .line 62
      StackMap locals: long long
      StackMap stack:
            lload 5 /* value1 */
            lconst_0
            lcmp
            ifne 11
            lload 7 /* value2 */
            lconst_0
            lcmp
            ifne 11
        10: .line 63
            iconst_1
            ireturn
        end local 7 // long value2
        end local 5 // long value1
        11: .line 56
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 3 /* i */
            iload 4 /* max */
            if_icmplt 4
        end local 4 // int max
        end local 3 // int i
        13: .line 66
            goto 21
        14: .line 67
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        15: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            istore 4 /* max */
        start local 4 // int max
        16: goto 20
        17: .line 68
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iload 3 /* i */
            daload
            dload 1 /* key */
            dcmpl
            ifne 19
        18: .line 69
            iconst_1
            ireturn
        19: .line 67
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            iload 4 /* max */
            if_icmplt 17
        end local 4 // int max
        end local 3 // int i
        21: .line 73
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // double key
        end local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0    this  Lorg/eclipse/jdt/internal/compiler/codegen/DoubleCache;
            0   22     1     key  D
            2   13     3       i  I
            3   13     4     max  I
            6   11     5  value1  J
            7   11     7  value2  J
           15   21     3       i  I
           16   21     4     max  I
    MethodParameters:
      Name  Flags
      key   

  public int put(double, int);
    descriptor: (DI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
        start local 1 // double key
        start local 3 // int value
         0: .line 84
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            arraylength
            if_icmpne 3
         1: .line 86
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iconst_0
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            iconst_2
            imul
            newarray 7
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 87
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            iconst_0
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            iconst_2
            imul
            newarray 10
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            dload 1 /* key */
            dastore
         4: .line 90
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            iload 3 /* value */
            iastore
         5: .line 91
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
         6: .line 92
            iload 3 /* value */
            ireturn
        end local 3 // int value
        end local 1 // double key
        end local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/eclipse/jdt/internal/compiler/codegen/DoubleCache;
            0    7     1    key  D
            0    7     3  value  I
    MethodParameters:
       Name  Flags
      key    
      value  

  public int putIfAbsent(double, int);
    descriptor: (DI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
        start local 1 // double key
        start local 3 // int value
         0: .line 103
            dload 1 /* key */
            dconst_0
            dcmpl
            ifne 14
         1: .line 104
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            istore 5 /* max */
        start local 5 // int max
         3: goto 12
         4: .line 105
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iload 4 /* i */
            daload
            dconst_0
            dcmpl
            ifne 11
         5: .line 106
            dload 1 /* key */
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 6 /* value1 */
        start local 6 // long value1
         6: .line 107
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iload 4 /* i */
            daload
            invokestatic java.lang.Double.doubleToLongBits:(D)J
            lstore 8 /* value2 */
        start local 8 // long value2
         7: .line 108
            lload 6 /* value1 */
            ldc -9223372036854775808
            lcmp
            ifne 9
            lload 8 /* value2 */
            ldc -9223372036854775808
            lcmp
            ifne 9
         8: .line 109
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            iload 4 /* i */
            iaload
            ireturn
         9: .line 110
      StackMap locals: long long
      StackMap stack:
            lload 6 /* value1 */
            lconst_0
            lcmp
            ifne 11
            lload 8 /* value2 */
            lconst_0
            lcmp
            ifne 11
        10: .line 111
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            iload 4 /* i */
            iaload
            ireturn
        end local 8 // long value2
        end local 6 // long value1
        11: .line 104
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            iload 5 /* max */
            if_icmplt 4
        end local 5 // int max
        end local 4 // int i
        13: .line 114
            goto 21
        14: .line 115
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        15: aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            istore 5 /* max */
        start local 5 // int max
        16: goto 20
        17: .line 116
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iload 4 /* i */
            daload
            dload 1 /* key */
            dcmpl
            ifne 19
        18: .line 117
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            iload 4 /* i */
            iaload
            ireturn
        19: .line 115
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            iload 5 /* max */
            if_icmplt 17
        end local 5 // int max
        end local 4 // int i
        21: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            arraylength
            if_icmpne 24
        22: .line 123
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iconst_0
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            iconst_2
            imul
            newarray 7
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 124
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            iconst_0
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            iconst_2
            imul
            newarray 10
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        24: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            dload 1 /* key */
            dastore
        25: .line 127
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            iload 3 /* value */
            iastore
        26: .line 128
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
        27: .line 129
            iload 3 /* value */
            ineg
            ireturn
        end local 3 // int value
        end local 1 // double key
        end local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   28     0    this  Lorg/eclipse/jdt/internal/compiler/codegen/DoubleCache;
            0   28     1     key  D
            0   28     3   value  I
            2   13     4       i  I
            3   13     5     max  I
            6   11     6  value1  J
            7   11     8  value2  J
           15   21     4       i  I
           16   21     5     max  I
    MethodParameters:
       Name  Flags
      key    
      value  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
         0: .line 138
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.elementSize:I
            istore 1 /* max */
        start local 1 // int max
         1: .line 139
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         2: .line 140
            aload 2 /* buf */
            ldc "{"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 141
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 10
         5: .line 142
      StackMap locals: int java.lang.StringBuffer int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iload 3 /* i */
            daload
            dconst_0
            dcmpl
            ifne 6
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iload 3 /* i */
            daload
            dconst_0
            dcmpl
            ifne 7
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            iload 3 /* i */
            iaload
            ifeq 7
         6: .line 143
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.keyTable:[D
            iload 3 /* i */
            daload
            invokevirtual java.lang.StringBuffer.append:(D)Ljava/lang/StringBuffer;
            ldc "->"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.codegen.DoubleCache.valueTable:[I
            iload 3 /* i */
            iaload
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            pop
         7: .line 145
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 1 /* max */
            if_icmpge 9
         8: .line 146
            aload 2 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 141
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iload 1 /* max */
            if_icmplt 5
        end local 3 // int i
        11: .line 149
            aload 2 /* buf */
            ldc "}"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 150
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer buf
        end local 1 // int max
        end local 0 // org.eclipse.jdt.internal.compiler.codegen.DoubleCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/eclipse/jdt/internal/compiler/codegen/DoubleCache;
            1   13     1   max  I
            2   13     2   buf  Ljava/lang/StringBuffer;
            4   11     3     i  I
}
SourceFile: "DoubleCache.java"