public class com.sun.tools.javac.code.Symbol$MethodHandleSymbol extends com.sun.tools.javac.code.Symbol$MethodSymbol implements com.sun.tools.javac.jvm.PoolConstant$LoadableConstant
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.code.Symbol$MethodHandleSymbol
  super_class: com.sun.tools.javac.code.Symbol$MethodSymbol
{
  private com.sun.tools.javac.code.Symbol refSym;
    descriptor: Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0002) ACC_PRIVATE

  private boolean getter;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(com.sun.tools.javac.code.Symbol);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol msym
         0: .line 2349
            aload 0 /* this */
            aload 1 /* msym */
            iconst_0
            invokespecial com.sun.tools.javac.code.Symbol$MethodHandleSymbol.<init>:(Lcom/sun/tools/javac/code/Symbol;Z)V
         1: .line 2350
            return
        end local 1 // com.sun.tools.javac.code.Symbol msym
        end local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;
            0    2     1  msym  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
      Name  Flags
      msym  

  public void <init>(com.sun.tools.javac.code.Symbol, boolean);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
        start local 1 // com.sun.tools.javac.code.Symbol msym
        start local 2 // boolean getter
         0: .line 2353
            aload 0 /* this */
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol.flags_field:J
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            aload 1 /* msym */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            invokespecial com.sun.tools.javac.code.Symbol$MethodSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
         1: .line 2354
            aload 0 /* this */
            aload 1 /* msym */
            putfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.refSym:Lcom/sun/tools/javac/code/Symbol;
         2: .line 2355
            aload 0 /* this */
            iload 2 /* getter */
            putfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.getter:Z
         3: .line 2356
            return
        end local 2 // boolean getter
        end local 1 // com.sun.tools.javac.code.Symbol msym
        end local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;
            0    4     1    msym  Lcom/sun/tools/javac/code/Symbol;
            0    4     2  getter  Z
    MethodParameters:
        Name  Flags
      msym    
      getter  

  public int referenceKind();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
         0: .line 2362
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.refSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            getstatic com.sun.tools.javac.code.Kinds$Kind.VAR:Lcom/sun/tools/javac/code/Kinds$Kind;
            if_acmpne 7
         1: .line 2363
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.getter:Z
            ifeq 4
         2: .line 2364
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.refSym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.isStatic:()Z
            ifeq 3
            iconst_2
            goto 6
      StackMap locals:
      StackMap stack:
         3: iconst_1
            goto 6
         4: .line 2365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.refSym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.isStatic:()Z
            ifeq 5
            iconst_4
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_3
         6: .line 2363
      StackMap locals:
      StackMap stack: int
            ireturn
         7: .line 2367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.refSym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.isConstructor:()Z
            ifeq 9
         8: .line 2368
            bipush 8
            ireturn
         9: .line 2370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.refSym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.isStatic:()Z
            ifeq 11
        10: .line 2371
            bipush 6
            ireturn
        11: .line 2372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.refSym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 2
            land
            lconst_0
            lcmp
            ifeq 13
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$MethodHandleSymbol.allowPrivateInvokeVirtual:()Z
            ifne 13
        12: .line 2373
            bipush 7
            ireturn
        13: .line 2374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.refSym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.isInterface:()Z
            ifeq 15
        14: .line 2375
            bipush 9
            ireturn
        15: .line 2377
      StackMap locals:
      StackMap stack:
            iconst_5
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;

  private boolean allowPrivateInvokeVirtual();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
         0: .line 2384
            aload 0 /* this */
            astore 1 /* rootPack */
        start local 1 // com.sun.tools.javac.code.Symbol rootPack
         1: .line 2385
            goto 3
         2: .line 2386
      StackMap locals: com.sun.tools.javac.code.Symbol
      StackMap stack:
            aload 1 /* rootPack */
            getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
            astore 1 /* rootPack */
         3: .line 2385
      StackMap locals:
      StackMap stack:
            aload 1 /* rootPack */
            ifnull 4
            aload 1 /* rootPack */
            instanceof com.sun.tools.javac.code.Symbol$RootPackageSymbol
            ifeq 2
         4: .line 2388
      StackMap locals:
      StackMap stack:
            aload 1 /* rootPack */
            ifnull 5
            aload 1 /* rootPack */
            checkcast com.sun.tools.javac.code.Symbol$RootPackageSymbol
            getfield com.sun.tools.javac.code.Symbol$RootPackageSymbol.allowPrivateInvokeVirtual:Z
            ifeq 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // com.sun.tools.javac.code.Symbol rootPack
        end local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;
            1    6     1  rootPack  Lcom/sun/tools/javac/code/Symbol;

  public int poolTag();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
         0: .line 2392
            bipush 15
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;

  public java.lang.Object poolKey(com.sun.tools.javac.code.Types);
    descriptor: (Lcom/sun/tools/javac/code/Types;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
        start local 1 // com.sun.tools.javac.code.Types types
         0: .line 2397
            new com.sun.tools.javac.util.Pair
            dup
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$MethodHandleSymbol.baseSymbol:()Lcom/sun/tools/javac/code/Symbol;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.code.Symbol$MethodHandleSymbol.referenceKind:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokespecial com.sun.tools.javac.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
        end local 1 // com.sun.tools.javac.code.Types types
        end local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;
            0    1     1  types  Lcom/sun/tools/javac/code/Types;
    MethodParameters:
       Name  Flags
      types  

  public com.sun.tools.javac.code.Symbol$MethodHandleSymbol asHandle();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
         0: .line 2402
            aload 0 /* this */
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;

  public com.sun.tools.javac.code.Symbol baseSymbol();
    descriptor: ()Lcom/sun/tools/javac/code/Symbol;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
         0: .line 2407
            aload 0 /* this */
            getfield com.sun.tools.javac.code.Symbol$MethodHandleSymbol.refSym:Lcom/sun/tools/javac/code/Symbol;
            areturn
        end local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;

  public boolean isHandle();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
         0: .line 2413
            iconst_1
            ireturn
        end local 0 // com.sun.tools.javac.code.Symbol$MethodHandleSymbol this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/code/Symbol$MethodHandleSymbol;
}
SourceFile: "Symbol.java"
NestHost: com.sun.tools.javac.code.Symbol
InnerClasses:
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public MethodHandleSymbol = com.sun.tools.javac.code.Symbol$MethodHandleSymbol of com.sun.tools.javac.code.Symbol
  public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
  public RootPackageSymbol = com.sun.tools.javac.code.Symbol$RootPackageSymbol of com.sun.tools.javac.code.Symbol
  public abstract LoadableConstant = com.sun.tools.javac.jvm.PoolConstant$LoadableConstant of com.sun.tools.javac.jvm.PoolConstant