public interface java.lang.constant.MethodHandleDesc extends java.lang.constant.ConstantDesc
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: java.lang.constant.MethodHandleDesc
  super_class: java.lang.Object
{
  public static final int[] $SWITCH_TABLE$java$lang$constant$DirectMethodHandleDesc$Kind;
    descriptor: [I
    flags: (0x1019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  public static java.lang.constant.DirectMethodHandleDesc of(java.lang.constant.DirectMethodHandleDesc$Kind, java.lang.constant.ClassDesc, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/constant/DirectMethodHandleDesc;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.constant.DirectMethodHandleDesc$Kind kind
        start local 1 // java.lang.constant.ClassDesc owner
        start local 2 // java.lang.String name
        start local 3 // java.lang.String lookupDescriptor
         0: .line 84
            invokestatic java.lang.constant.MethodHandleDesc.$SWITCH_TABLE$java$lang$constant$DirectMethodHandleDesc$Kind:()[I
            aload 0 /* kind */
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            iaload
            tableswitch { // 8 - 11
                    8: 1
                    9: 1
                   10: 1
                   11: 1
              default: 2
          }
         1: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* kind */
            aload 1 /* owner */
            aload 2 /* name */
            aload 3 /* lookupDescriptor */
            invokestatic java.lang.constant.ClassDesc.ofDescriptor:(Ljava/lang/String;)Ljava/lang/constant/ClassDesc;
            invokestatic java.lang.constant.MethodHandleDesc.ofField:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
            areturn
         2: .line 91
      StackMap locals:
      StackMap stack:
            new java.lang.constant.DirectMethodHandleDescImpl
            dup
            aload 0 /* kind */
            aload 1 /* owner */
            aload 2 /* name */
            aload 3 /* lookupDescriptor */
            invokestatic java.lang.constant.MethodTypeDesc.ofDescriptor:(Ljava/lang/String;)Ljava/lang/constant/MethodTypeDesc;
            invokespecial java.lang.constant.DirectMethodHandleDescImpl.<init>:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)V
            areturn
        end local 3 // java.lang.String lookupDescriptor
        end local 2 // java.lang.String name
        end local 1 // java.lang.constant.ClassDesc owner
        end local 0 // java.lang.constant.DirectMethodHandleDesc$Kind kind
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              kind  Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            0    3     1             owner  Ljava/lang/constant/ClassDesc;
            0    3     2              name  Ljava/lang/String;
            0    3     3  lookupDescriptor  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      kind              
      owner             
      name              
      lookupDescriptor  

  public static java.lang.constant.DirectMethodHandleDesc ofMethod(java.lang.constant.DirectMethodHandleDesc$Kind, java.lang.constant.ClassDesc, java.lang.String, java.lang.constant.MethodTypeDesc);
    descriptor: (Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.constant.DirectMethodHandleDesc$Kind kind
        start local 1 // java.lang.constant.ClassDesc owner
        start local 2 // java.lang.String name
        start local 3 // java.lang.constant.MethodTypeDesc lookupMethodType
         0: .line 124
            invokestatic java.lang.constant.MethodHandleDesc.$SWITCH_TABLE$java$lang$constant$DirectMethodHandleDesc$Kind:()[I
            aload 0 /* kind */
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            iaload
            tableswitch { // 1 - 11
                    1: 2
                    2: 2
                    3: 2
                    4: 2
                    5: 2
                    6: 2
                    7: 2
                    8: 1
                    9: 1
                   10: 1
                   11: 1
              default: 3
          }
         1: .line 129
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 0 /* kind */
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 137
      StackMap locals:
      StackMap stack:
            new java.lang.constant.DirectMethodHandleDescImpl
            dup
            aload 0 /* kind */
            aload 1 /* owner */
            aload 2 /* name */
            aload 3 /* lookupMethodType */
            invokespecial java.lang.constant.DirectMethodHandleDescImpl.<init>:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)V
            areturn
         3: .line 139
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 0 /* kind */
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.constant.MethodTypeDesc lookupMethodType
        end local 2 // java.lang.String name
        end local 1 // java.lang.constant.ClassDesc owner
        end local 0 // java.lang.constant.DirectMethodHandleDesc$Kind kind
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              kind  Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            0    4     1             owner  Ljava/lang/constant/ClassDesc;
            0    4     2              name  Ljava/lang/String;
            0    4     3  lookupMethodType  Ljava/lang/constant/MethodTypeDesc;
    MethodParameters:
                  Name  Flags
      kind              
      owner             
      name              
      lookupMethodType  

  public static java.lang.constant.DirectMethodHandleDesc ofField(java.lang.constant.DirectMethodHandleDesc$Kind, java.lang.constant.ClassDesc, java.lang.String, java.lang.constant.ClassDesc);
    descriptor: (Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.lang.constant.DirectMethodHandleDesc$Kind kind
        start local 1 // java.lang.constant.ClassDesc owner
        start local 2 // java.lang.String fieldName
        start local 3 // java.lang.constant.ClassDesc fieldType
         0: .line 163
            invokestatic java.lang.constant.MethodHandleDesc.$SWITCH_TABLE$java$lang$constant$DirectMethodHandleDesc$Kind:()[I
            aload 0 /* kind */
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            iaload
            tableswitch { // 8 - 11
                    8: 1
                    9: 3
                   10: 5
                   11: 7
              default: 9
          }
         1: .line 164
      StackMap locals:
      StackMap stack:
            aload 3 /* fieldType */
            iconst_1
            anewarray java.lang.constant.ClassDesc
            dup
            iconst_0
            aload 1 /* owner */
            aastore
            invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
            astore 4 /* mtr */
        start local 4 // java.lang.constant.MethodTypeDesc mtr
         2: goto 10
        end local 4 // java.lang.constant.MethodTypeDesc mtr
         3: .line 165
      StackMap locals:
      StackMap stack:
            getstatic java.lang.constant.ConstantDescs.CD_void:Ljava/lang/constant/ClassDesc;
            iconst_2
            anewarray java.lang.constant.ClassDesc
            dup
            iconst_0
            aload 1 /* owner */
            aastore
            dup
            iconst_1
            aload 3 /* fieldType */
            aastore
            invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
            astore 4 /* mtr */
        start local 4 // java.lang.constant.MethodTypeDesc mtr
         4: goto 10
        end local 4 // java.lang.constant.MethodTypeDesc mtr
         5: .line 166
      StackMap locals:
      StackMap stack:
            aload 3 /* fieldType */
            iconst_0
            anewarray java.lang.constant.ClassDesc
            invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
            astore 4 /* mtr */
        start local 4 // java.lang.constant.MethodTypeDesc mtr
         6: goto 10
        end local 4 // java.lang.constant.MethodTypeDesc mtr
         7: .line 167
      StackMap locals:
      StackMap stack:
            getstatic java.lang.constant.ConstantDescs.CD_void:Ljava/lang/constant/ClassDesc;
            iconst_1
            anewarray java.lang.constant.ClassDesc
            dup
            iconst_0
            aload 3 /* fieldType */
            aastore
            invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
            astore 4 /* mtr */
        start local 4 // java.lang.constant.MethodTypeDesc mtr
         8: goto 10
        end local 4 // java.lang.constant.MethodTypeDesc mtr
         9: .line 169
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 0 /* kind */
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 4 // java.lang.constant.MethodTypeDesc mtr
        10: .line 171
      StackMap locals: java.lang.constant.MethodTypeDesc
      StackMap stack:
            new java.lang.constant.DirectMethodHandleDescImpl
            dup
            aload 0 /* kind */
            aload 1 /* owner */
            aload 2 /* fieldName */
            aload 4 /* mtr */
            invokespecial java.lang.constant.DirectMethodHandleDescImpl.<init>:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)V
            areturn
        end local 4 // java.lang.constant.MethodTypeDesc mtr
        end local 3 // java.lang.constant.ClassDesc fieldType
        end local 2 // java.lang.String fieldName
        end local 1 // java.lang.constant.ClassDesc owner
        end local 0 // java.lang.constant.DirectMethodHandleDesc$Kind kind
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       kind  Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            0   11     1      owner  Ljava/lang/constant/ClassDesc;
            0   11     2  fieldName  Ljava/lang/String;
            0   11     3  fieldType  Ljava/lang/constant/ClassDesc;
            2    3     4        mtr  Ljava/lang/constant/MethodTypeDesc;
            4    5     4        mtr  Ljava/lang/constant/MethodTypeDesc;
            6    7     4        mtr  Ljava/lang/constant/MethodTypeDesc;
            8    9     4        mtr  Ljava/lang/constant/MethodTypeDesc;
           10   11     4        mtr  Ljava/lang/constant/MethodTypeDesc;
    MethodParameters:
           Name  Flags
      kind       
      owner      
      fieldName  
      fieldType  

  public static java.lang.constant.DirectMethodHandleDesc ofConstructor(java.lang.constant.ClassDesc, java.lang.constant.ClassDesc[]);
    descriptor: (Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.constant.ClassDesc owner
        start local 1 // java.lang.constant.ClassDesc[] paramTypes
         0: .line 186
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.CONSTRUCTOR:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            aload 0 /* owner */
            ldc "_"
         1: .line 187
            getstatic java.lang.constant.ConstantDescs.CD_void:Ljava/lang/constant/ClassDesc;
            aload 1 /* paramTypes */
            invokestatic java.lang.constant.MethodTypeDesc.of:(Ljava/lang/constant/ClassDesc;[Ljava/lang/constant/ClassDesc;)Ljava/lang/constant/MethodTypeDesc;
         2: .line 186
            invokestatic java.lang.constant.MethodHandleDesc.ofMethod:(Ljava/lang/constant/DirectMethodHandleDesc$Kind;Ljava/lang/constant/ClassDesc;Ljava/lang/String;Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/DirectMethodHandleDesc;
            areturn
        end local 1 // java.lang.constant.ClassDesc[] paramTypes
        end local 0 // java.lang.constant.ClassDesc owner
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0       owner  Ljava/lang/constant/ClassDesc;
            0    3     1  paramTypes  [Ljava/lang/constant/ClassDesc;
    MethodParameters:
            Name  Flags
      owner       
      paramTypes  

  public java.lang.constant.MethodHandleDesc asType(java.lang.constant.MethodTypeDesc);
    descriptor: (Ljava/lang/constant/MethodTypeDesc;)Ljava/lang/constant/MethodHandleDesc;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.constant.MethodHandleDesc this
        start local 1 // java.lang.constant.MethodTypeDesc type
         0: .line 199
            aload 0 /* this */
            invokeinterface java.lang.constant.MethodHandleDesc.invocationType:()Ljava/lang/constant/MethodTypeDesc;
            aload 1 /* type */
            invokeinterface java.lang.constant.MethodTypeDesc.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* this */
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.constant.AsTypeMethodHandleDesc
            dup
            aload 0 /* this */
            aload 1 /* type */
            invokespecial java.lang.constant.AsTypeMethodHandleDesc.<init>:(Ljava/lang/constant/MethodHandleDesc;Ljava/lang/constant/MethodTypeDesc;)V
      StackMap locals:
      StackMap stack: java.lang.constant.MethodHandleDesc
         2: areturn
        end local 1 // java.lang.constant.MethodTypeDesc type
        end local 0 // java.lang.constant.MethodHandleDesc this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/constant/MethodHandleDesc;
            0    3     1  type  Ljava/lang/constant/MethodTypeDesc;
    MethodParameters:
      Name  Flags
      type  

  public abstract java.lang.constant.MethodTypeDesc invocationType();
    descriptor: ()Ljava/lang/constant/MethodTypeDesc;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public static int[] $SWITCH_TABLE$java$lang$constant$DirectMethodHandleDesc$Kind();
    descriptor: ()[I
    flags: (0x1009) ACC_PUBLIC, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 45
            getstatic java.lang.constant.MethodHandleDesc.$SWITCH_TABLE$java$lang$constant$DirectMethodHandleDesc$Kind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic java.lang.constant.DirectMethodHandleDesc$Kind.values:()[Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.CONSTRUCTOR:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            bipush 7
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.GETTER:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            bipush 8
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_SPECIAL:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            bipush 6
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_STATIC:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.INTERFACE_VIRTUAL:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.SETTER:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            bipush 9
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.SPECIAL:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.STATIC:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            iconst_1
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.STATIC_GETTER:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            bipush 10
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.STATIC_SETTER:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            bipush 11
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic java.lang.constant.DirectMethodHandleDesc$Kind.VIRTUAL:Ljava/lang/constant/DirectMethodHandleDesc$Kind;
            invokevirtual java.lang.constant.DirectMethodHandleDesc$Kind.ordinal:()I
            iconst_3
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
SourceFile: "MethodHandleDesc.java"
InnerClasses:
  public final Kind = java.lang.constant.DirectMethodHandleDesc$Kind of java.lang.constant.DirectMethodHandleDesc