public class com.sun.tools.javac.jvm.Pool$MethodHandle
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.jvm.Pool$MethodHandle
  super_class: java.lang.Object
{
  int refKind;
    descriptor: I
    flags: (0x0000) 

  com.sun.tools.javac.code.Symbol refSym;
    descriptor: Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0000) 

  com.sun.tools.javac.code.Types$UniqueType uniqueType;
    descriptor: Lcom/sun/tools/javac/code/Types$UniqueType;
    flags: (0x0000) 

  com.sun.tools.javac.util.Filter<com.sun.tools.javac.util.Name> nonInitFilter;
    descriptor: Lcom/sun/tools/javac/util/Filter;
    flags: (0x0000) 
    Signature: Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/util/Name;>;

  com.sun.tools.javac.util.Filter<com.sun.tools.javac.util.Name> initFilter;
    descriptor: Lcom/sun/tools/javac/util/Filter;
    flags: (0x0000) 
    Signature: Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/util/Name;>;

  public void <init>(int, com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Types);
    descriptor: (ILcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Types;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.jvm.Pool$MethodHandle this
        start local 1 // int refKind
        start local 2 // com.sun.tools.javac.code.Symbol refSym
        start local 3 // com.sun.tools.javac.code.Types types
         0: .line 302
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 368
            aload 0 /* this */
            invokedynamic accepts()Lcom/sun/tools/javac/util/Filter;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/sun/tools/javac/jvm/Pool$MethodHandle.lambda$0(Lcom/sun/tools/javac/util/Name;)Z (6)
                  (Lcom/sun/tools/javac/util/Name;)Z
            putfield com.sun.tools.javac.jvm.Pool$MethodHandle.nonInitFilter:Lcom/sun/tools/javac/util/Filter;
         2: .line 370
            aload 0 /* this */
            invokedynamic accepts()Lcom/sun/tools/javac/util/Filter;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/sun/tools/javac/jvm/Pool$MethodHandle.lambda$1(Lcom/sun/tools/javac/util/Name;)Z (6)
                  (Lcom/sun/tools/javac/util/Name;)Z
            putfield com.sun.tools.javac.jvm.Pool$MethodHandle.initFilter:Lcom/sun/tools/javac/util/Filter;
         3: .line 303
            aload 0 /* this */
            iload 1 /* refKind */
            putfield com.sun.tools.javac.jvm.Pool$MethodHandle.refKind:I
         4: .line 304
            aload 0 /* this */
            aload 2 /* refSym */
            putfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
         5: .line 305
            aload 0 /* this */
            new com.sun.tools.javac.code.Types$UniqueType
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            aload 3 /* types */
            invokespecial com.sun.tools.javac.code.Types$UniqueType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)V
            putfield com.sun.tools.javac.jvm.Pool$MethodHandle.uniqueType:Lcom/sun/tools/javac/code/Types$UniqueType;
         6: .line 306
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.jvm.Pool$MethodHandle.checkConsistent:()V
         7: .line 307
            return
        end local 3 // com.sun.tools.javac.code.Types types
        end local 2 // com.sun.tools.javac.code.Symbol refSym
        end local 1 // int refKind
        end local 0 // com.sun.tools.javac.jvm.Pool$MethodHandle this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/sun/tools/javac/jvm/Pool$MethodHandle;
            0    8     1  refKind  I
            0    8     2   refSym  Lcom/sun/tools/javac/code/Symbol;
            0    8     3    types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
         Name  Flags
      refKind  
      refSym   
      types    

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.tools.javac.jvm.Pool$MethodHandle this
        start local 1 // java.lang.Object other
         0: .line 309
            aload 1 /* other */
            instanceof com.sun.tools.javac.jvm.Pool$MethodHandle
            ifne 1
            iconst_0
            ireturn
         1: .line 310
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast com.sun.tools.javac.jvm.Pool$MethodHandle
            astore 2 /* mr */
        start local 2 // com.sun.tools.javac.jvm.Pool$MethodHandle mr
         2: .line 311
            aload 2 /* mr */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refKind:I
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refKind:I
            if_icmpeq 3
            iconst_0
            ireturn
         3: .line 312
      StackMap locals: com.sun.tools.javac.jvm.Pool$MethodHandle
      StackMap stack:
            aload 2 /* mr */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
            astore 3 /* o */
        start local 3 // com.sun.tools.javac.code.Symbol o
         4: .line 314
            aload 3 /* o */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            if_acmpne 8
         5: .line 315
            aload 3 /* o */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            if_acmpne 8
         6: .line 316
            aload 1 /* other */
            checkcast com.sun.tools.javac.jvm.Pool$MethodHandle
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.uniqueType:Lcom/sun/tools/javac/code/Types$UniqueType;
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.uniqueType:Lcom/sun/tools/javac/code/Types$UniqueType;
            invokevirtual com.sun.tools.javac.code.Types$UniqueType.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 313
            iconst_1
            ireturn
      StackMap locals: com.sun.tools.javac.code.Symbol
      StackMap stack:
         8: iconst_0
            ireturn
        end local 3 // com.sun.tools.javac.code.Symbol o
        end local 2 // com.sun.tools.javac.jvm.Pool$MethodHandle mr
        end local 1 // java.lang.Object other
        end local 0 // com.sun.tools.javac.jvm.Pool$MethodHandle this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/sun/tools/javac/jvm/Pool$MethodHandle;
            0    9     1  other  Ljava/lang/Object;
            2    9     2     mr  Lcom/sun/tools/javac/jvm/Pool$MethodHandle;
            4    9     3      o  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.jvm.Pool$MethodHandle this
         0: .line 320
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refKind:I
            bipush 65
            imul
         1: .line 321
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            invokevirtual java.lang.Object.hashCode:()I
            bipush 33
            imul
         2: .line 320
            iadd
         3: .line 322
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual java.lang.Object.hashCode:()I
            bipush 9
            imul
         4: .line 320
            iadd
         5: .line 323
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.uniqueType:Lcom/sun/tools/javac/code/Types$UniqueType;
            invokevirtual com.sun.tools.javac.code.Types$UniqueType.hashCode:()I
         6: .line 320
            iadd
         7: .line 319
            ireturn
        end local 0 // com.sun.tools.javac.jvm.Pool$MethodHandle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/javac/jvm/Pool$MethodHandle;

  private void checkConsistent();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.sun.tools.javac.jvm.Pool$MethodHandle this
         0: .line 331
            iconst_0
            istore 1 /* staticOk */
        start local 1 // boolean staticOk
         1: .line 332
            aconst_null
            astore 2 /* expectedKind */
        start local 2 // com.sun.tools.javac.code.Kinds$Kind expectedKind
         2: .line 333
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.nonInitFilter:Lcom/sun/tools/javac/util/Filter;
            astore 3 /* nameFilter */
        start local 3 // com.sun.tools.javac.util.Filter nameFilter
         3: .line 334
            iconst_0
            istore 4 /* interfaceOwner */
        start local 4 // boolean interfaceOwner
         4: .line 335
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refKind:I
            tableswitch { // 1 - 9
                    1: 6
                    2: 5
                    3: 6
                    4: 5
                    5: 16
                    6: 14
                    7: 18
                    8: 8
                    9: 11
              default: 20
          }
         5: .line 338
      StackMap locals: com.sun.tools.javac.jvm.Pool$MethodHandle int com.sun.tools.javac.code.Kinds$Kind com.sun.tools.javac.util.Filter int
      StackMap stack:
            iconst_1
            istore 1 /* staticOk */
         6: .line 341
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.code.Kinds$Kind.VAR:Lcom/sun/tools/javac/code/Kinds$Kind;
            astore 2 /* expectedKind */
         7: .line 342
            goto 20
         8: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.initFilter:Lcom/sun/tools/javac/util/Filter;
            astore 3 /* nameFilter */
         9: .line 345
            getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
            astore 2 /* expectedKind */
        10: .line 346
            goto 20
        11: .line 348
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* interfaceOwner */
        12: .line 349
            getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
            astore 2 /* expectedKind */
        13: .line 350
            goto 20
        14: .line 352
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* interfaceOwner */
        15: .line 353
            iconst_1
            istore 1 /* staticOk */
        16: .line 355
      StackMap locals:
      StackMap stack:
            getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
            astore 2 /* expectedKind */
        17: .line 356
            goto 20
        18: .line 358
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* interfaceOwner */
        19: .line 359
            getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
            astore 2 /* expectedKind */
        20: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.isStatic:()Z
            ifeq 21
            iload 1 /* staticOk */
            ifne 21
            iconst_0
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_1
      StackMap locals:
      StackMap stack: int
        22: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        23: .line 363
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            aload 2 /* expectedKind */
            if_acmpne 24
            iconst_1
            goto 25
      StackMap locals:
      StackMap stack:
        24: iconst_0
      StackMap locals:
      StackMap stack: int
        25: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        26: .line 364
            aload 3 /* nameFilter */
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            invokeinterface com.sun.tools.javac.util.Filter.accepts:(Ljava/lang/Object;)Z
            invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        27: .line 365
            aload 0 /* this */
            getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.isInterface:()Z
            ifeq 28
            iload 4 /* interfaceOwner */
            ifne 28
            iconst_0
            goto 29
      StackMap locals:
      StackMap stack:
        28: iconst_1
      StackMap locals:
      StackMap stack: int
        29: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
        30: .line 366
            return
        end local 4 // boolean interfaceOwner
        end local 3 // com.sun.tools.javac.util.Filter nameFilter
        end local 2 // com.sun.tools.javac.code.Kinds$Kind expectedKind
        end local 1 // boolean staticOk
        end local 0 // com.sun.tools.javac.jvm.Pool$MethodHandle this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   31     0            this  Lcom/sun/tools/javac/jvm/Pool$MethodHandle;
            1   31     1        staticOk  Z
            2   31     2    expectedKind  Lcom/sun/tools/javac/code/Kinds$Kind;
            3   31     3      nameFilter  Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/util/Name;>;
            4   31     4  interfaceOwner  Z

  private static boolean lambda$0(com.sun.tools.javac.util.Name);
    descriptor: (Lcom/sun/tools/javac/util/Name;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Name n
         0: .line 368
            aload 0 /* n */
            aload 0 /* n */
            getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
            getfield com.sun.tools.javac.util.Name$Table.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.init:Lcom/sun/tools/javac/util/Name;
            if_acmpeq 1
            aload 0 /* n */
            aload 0 /* n */
            getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
            getfield com.sun.tools.javac.util.Name$Table.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.clinit:Lcom/sun/tools/javac/util/Name;
            if_acmpeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.sun.tools.javac.util.Name n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     n  Lcom/sun/tools/javac/util/Name;

  private static boolean lambda$1(com.sun.tools.javac.util.Name);
    descriptor: (Lcom/sun/tools/javac/util/Name;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.util.Name n
         0: .line 370
            aload 0 /* n */
            aload 0 /* n */
            getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
            getfield com.sun.tools.javac.util.Name$Table.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.init:Lcom/sun/tools/javac/util/Name;
            if_acmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.sun.tools.javac.util.Name n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     n  Lcom/sun/tools/javac/util/Name;
}
SourceFile: "Pool.java"
NestHost: com.sun.tools.javac.jvm.Pool
InnerClasses:
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public UniqueType = com.sun.tools.javac.code.Types$UniqueType of com.sun.tools.javac.code.Types
  public MethodHandle = com.sun.tools.javac.jvm.Pool$MethodHandle of com.sun.tools.javac.jvm.Pool
  public abstract Table = com.sun.tools.javac.util.Name$Table of com.sun.tools.javac.util.Name
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles