class com.sun.tools.javac.jvm.Pool$DynamicMethod extends com.sun.tools.javac.jvm.Pool$Method
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.jvm.Pool$DynamicMethod
  super_class: com.sun.tools.javac.jvm.Pool$Method
{
  public java.lang.Object[] uniqueStaticArgs;
    descriptor: [Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC

  void <init>(com.sun.tools.javac.code.Symbol$DynamicMethodSymbol, com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$DynamicMethodSymbol;Lcom/sun/tools/javac/code/Types;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
        start local 1 // com.sun.tools.javac.code.Symbol$DynamicMethodSymbol m
        start local 2 // com.sun.tools.javac.code.Types types
         0: .line 187
            aload 0 /* this */
            aload 1 /* m */
            aload 2 /* types */
            invokespecial com.sun.tools.javac.jvm.Pool$Method.<init>:(Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/code/Types;)V
         1: .line 188
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* m */
            getfield com.sun.tools.javac.code.Symbol$DynamicMethodSymbol.staticArgs:[Ljava/lang/Object;
            aload 2 /* types */
            invokevirtual com.sun.tools.javac.jvm.Pool$DynamicMethod.getUniqueTypeArray:([Ljava/lang/Object;Lcom/sun/tools/javac/code/Types;)[Ljava/lang/Object;
            putfield com.sun.tools.javac.jvm.Pool$DynamicMethod.uniqueStaticArgs:[Ljava/lang/Object;
         2: .line 189
            return
        end local 2 // com.sun.tools.javac.code.Types types
        end local 1 // com.sun.tools.javac.code.Symbol$DynamicMethodSymbol m
        end local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/javac/jvm/Pool$DynamicMethod;
            0    3     1      m  Lcom/sun/tools/javac/code/Symbol$DynamicMethodSymbol;
            0    3     2  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      m      
      types  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
        start local 1 // java.lang.Object any
         0: .line 193
            aload 0 /* this */
            aload 1 /* any */
            iconst_1
            invokevirtual com.sun.tools.javac.jvm.Pool$DynamicMethod.equalsImpl:(Ljava/lang/Object;Z)Z
            ireturn
        end local 1 // java.lang.Object any
        end local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/jvm/Pool$DynamicMethod;
            0    1     1   any  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      any   

  protected boolean equalsImpl(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
        start local 1 // java.lang.Object any
        start local 2 // boolean includeDynamicArgs
         0: .line 197
            iload 2 /* includeDynamicArgs */
            ifeq 1
            aload 0 /* this */
            aload 1 /* any */
            invokespecial com.sun.tools.javac.jvm.Pool$Method.equals:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
         1: .line 198
      StackMap locals:
      StackMap stack:
            aload 1 /* any */
            instanceof com.sun.tools.javac.jvm.Pool$DynamicMethod
            ifne 2
            iconst_0
            ireturn
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$DynamicMethod.other:Lcom/sun/tools/javac/code/Symbol;
            checkcast com.sun.tools.javac.code.Symbol$DynamicMethodSymbol
            astore 3 /* dm1 */
        start local 3 // com.sun.tools.javac.code.Symbol$DynamicMethodSymbol dm1
         3: .line 200
            aload 1 /* any */
            checkcast com.sun.tools.javac.jvm.Pool$DynamicMethod
            getfield com.sun.tools.javac.jvm.Pool$DynamicMethod.other:Lcom/sun/tools/javac/code/Symbol;
            checkcast com.sun.tools.javac.code.Symbol$DynamicMethodSymbol
            astore 4 /* dm2 */
        start local 4 // com.sun.tools.javac.code.Symbol$DynamicMethodSymbol dm2
         4: .line 201
            aload 3 /* dm1 */
            getfield com.sun.tools.javac.code.Symbol$DynamicMethodSymbol.bsm:Lcom/sun/tools/javac/code/Symbol;
            aload 4 /* dm2 */
            getfield com.sun.tools.javac.code.Symbol$DynamicMethodSymbol.bsm:Lcom/sun/tools/javac/code/Symbol;
            if_acmpne 11
         5: .line 202
            aload 3 /* dm1 */
            getfield com.sun.tools.javac.code.Symbol$DynamicMethodSymbol.bsmKind:I
            aload 4 /* dm2 */
            getfield com.sun.tools.javac.code.Symbol$DynamicMethodSymbol.bsmKind:I
            if_icmpne 11
         6: .line 203
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$DynamicMethod.uniqueStaticArgs:[Ljava/lang/Object;
         7: .line 204
            aload 1 /* any */
            checkcast com.sun.tools.javac.jvm.Pool$DynamicMethod
            getfield com.sun.tools.javac.jvm.Pool$DynamicMethod.uniqueStaticArgs:[Ljava/lang/Object;
         8: .line 203
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
         9: .line 204
            ifeq 11
        10: .line 201
            iconst_1
            ireturn
      StackMap locals: com.sun.tools.javac.code.Symbol$DynamicMethodSymbol com.sun.tools.javac.code.Symbol$DynamicMethodSymbol
      StackMap stack:
        11: iconst_0
            ireturn
        end local 4 // com.sun.tools.javac.code.Symbol$DynamicMethodSymbol dm2
        end local 3 // com.sun.tools.javac.code.Symbol$DynamicMethodSymbol dm1
        end local 2 // boolean includeDynamicArgs
        end local 1 // java.lang.Object any
        end local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Lcom/sun/tools/javac/jvm/Pool$DynamicMethod;
            0   12     1                 any  Ljava/lang/Object;
            0   12     2  includeDynamicArgs  Z
            3   12     3                 dm1  Lcom/sun/tools/javac/code/Symbol$DynamicMethodSymbol;
            4   12     4                 dm2  Lcom/sun/tools/javac/code/Symbol$DynamicMethodSymbol;
    MethodParameters:
                    Name  Flags
      any                 
      includeDynamicArgs  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
         0: .line 209
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.tools.javac.jvm.Pool$DynamicMethod.hashCodeImpl:(Z)I
            ireturn
        end local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/jvm/Pool$DynamicMethod;

  protected int hashCodeImpl(boolean);
    descriptor: (Z)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
        start local 1 // boolean includeDynamicArgs
         0: .line 213
            iload 1 /* includeDynamicArgs */
            ifeq 1
            aload 0 /* this */
            invokespecial com.sun.tools.javac.jvm.Pool$Method.hashCode:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* hash */
        start local 2 // int hash
         3: .line 214
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$DynamicMethod.other:Lcom/sun/tools/javac/code/Symbol;
            checkcast com.sun.tools.javac.code.Symbol$DynamicMethodSymbol
            astore 3 /* dm */
        start local 3 // com.sun.tools.javac.code.Symbol$DynamicMethodSymbol dm
         4: .line 215
            iload 2 /* hash */
            aload 3 /* dm */
            getfield com.sun.tools.javac.code.Symbol$DynamicMethodSymbol.bsmKind:I
            bipush 7
            imul
         5: .line 216
            aload 3 /* dm */
            getfield com.sun.tools.javac.code.Symbol$DynamicMethodSymbol.bsm:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual java.lang.Object.hashCode:()I
            bipush 11
            imul
         6: .line 215
            iadd
            iadd
            istore 2 /* hash */
         7: .line 217
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 11
         9: .line 218
      StackMap locals: int com.sun.tools.javac.code.Symbol$DynamicMethodSymbol int
      StackMap stack:
            iload 2 /* hash */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$DynamicMethod.uniqueStaticArgs:[Ljava/lang/Object;
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.hashCode:()I
            bipush 23
            imul
            iadd
            istore 2 /* hash */
        10: .line 217
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 3 /* dm */
            getfield com.sun.tools.javac.code.Symbol$DynamicMethodSymbol.staticArgs:[Ljava/lang/Object;
            arraylength
            if_icmplt 9
        end local 4 // int i
        12: .line 220
            iload 2 /* hash */
            ireturn
        end local 3 // com.sun.tools.javac.code.Symbol$DynamicMethodSymbol dm
        end local 2 // int hash
        end local 1 // boolean includeDynamicArgs
        end local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lcom/sun/tools/javac/jvm/Pool$DynamicMethod;
            0   13     1  includeDynamicArgs  Z
            3   13     2                hash  I
            4   13     3                  dm  Lcom/sun/tools/javac/code/Symbol$DynamicMethodSymbol;
            8   12     4                   i  I
    MethodParameters:
                    Name  Flags
      includeDynamicArgs  

  private java.lang.Object[] getUniqueTypeArray(java.lang.Object[], com.sun.tools.javac.code.Types);
    descriptor: ([Ljava/lang/Object;Lcom/sun/tools/javac/code/Types;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
        start local 1 // java.lang.Object[] objects
        start local 2 // com.sun.tools.javac.code.Types types
         0: .line 224
            aload 1 /* objects */
            arraylength
            anewarray java.lang.Object
            astore 3 /* result */
        start local 3 // java.lang.Object[] result
         1: .line 225
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 8
         3: .line 226
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* objects */
            iload 4 /* i */
            aaload
            instanceof com.sun.tools.javac.code.Type
            ifeq 6
         4: .line 227
            aload 3 /* result */
            iload 4 /* i */
            new com.sun.tools.javac.code.Types$UniqueType
            dup
            aload 1 /* objects */
            iload 4 /* i */
            aaload
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* types */
            invokespecial com.sun.tools.javac.code.Types$UniqueType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)V
            aastore
         5: .line 228
            goto 7
         6: .line 229
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            iload 4 /* i */
            aload 1 /* objects */
            iload 4 /* i */
            aaload
            aastore
         7: .line 225
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 1 /* objects */
            arraylength
            if_icmplt 3
        end local 4 // int i
         9: .line 232
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object[] result
        end local 2 // com.sun.tools.javac.code.Types types
        end local 1 // java.lang.Object[] objects
        end local 0 // com.sun.tools.javac.jvm.Pool$DynamicMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/sun/tools/javac/jvm/Pool$DynamicMethod;
            0   10     1  objects  [Ljava/lang/Object;
            0   10     2    types  Lcom/sun/tools/javac/code/Types;
            1   10     3   result  [Ljava/lang/Object;
            2    9     4        i  I
    MethodParameters:
         Name  Flags
      objects  
      types    
}
SourceFile: "Pool.java"
NestHost: com.sun.tools.javac.jvm.Pool
InnerClasses:
  public DynamicMethodSymbol = com.sun.tools.javac.code.Symbol$DynamicMethodSymbol of com.sun.tools.javac.code.Symbol
  public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
  public UniqueType = com.sun.tools.javac.code.Types$UniqueType of com.sun.tools.javac.code.Types
  DynamicMethod = com.sun.tools.javac.jvm.Pool$DynamicMethod of com.sun.tools.javac.jvm.Pool
  BootstrapMethodsKey = com.sun.tools.javac.jvm.Pool$DynamicMethod$BootstrapMethodsKey of com.sun.tools.javac.jvm.Pool$DynamicMethod
  BootstrapMethodsValue = com.sun.tools.javac.jvm.Pool$DynamicMethod$BootstrapMethodsValue of com.sun.tools.javac.jvm.Pool$DynamicMethod
  Method = com.sun.tools.javac.jvm.Pool$Method of com.sun.tools.javac.jvm.Pool