public interface java.lang.invoke.MethodHandleInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: java.lang.invoke.MethodHandleInfo
  super_class: java.lang.Object
{
  public static final int REF_getField;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int REF_getStatic;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int REF_putField;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int REF_putStatic;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int REF_invokeVirtual;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int REF_invokeStatic;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int REF_invokeSpecial;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int REF_newInvokeSpecial;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int REF_invokeInterface;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public abstract int getReferenceKind();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.Class<?> getDeclaringClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<*>;

  public abstract java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.invoke.MethodType getMethodType();
    descriptor: ()Ljava/lang/invoke/MethodType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract <T extends java.lang.reflect.Member> T reflectAs(java.lang.Class<T>, java.lang.invoke.MethodHandles$Lookup);
    descriptor: (Ljava/lang/Class;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/reflect/Member;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T::Ljava/lang/reflect/Member;>(Ljava/lang/Class<TT;>;Ljava/lang/invoke/MethodHandles$Lookup;)TT;
    MethodParameters:
          Name  Flags
      expected  
      lookup    

  public abstract int getModifiers();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public boolean isVarArgs();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.invoke.MethodHandleInfo this
         0: .line 227
            aload 0 /* this */
            invokeinterface java.lang.invoke.MethodHandleInfo.getReferenceKind:()I
            i2b
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsField:(B)Z
            ifeq 2
         1: .line 228
            iconst_0
            ireturn
         2: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokeinterface java.lang.invoke.MethodHandleInfo.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isTransient:(I)Z
            ireturn
        end local 0 // java.lang.invoke.MethodHandleInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/invoke/MethodHandleInfo;

  public static java.lang.String referenceKindToString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int referenceKind
         0: .line 245
            iload 0 /* referenceKind */
            invokestatic java.lang.invoke.MethodHandleNatives.refKindIsValid:(I)Z
            ifne 2
         1: .line 246
            ldc "invalid reference kind"
            iload 0 /* referenceKind */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic java.lang.invoke.MethodHandleStatics.newIllegalArgumentException:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/RuntimeException;
            athrow
         2: .line 247
      StackMap locals:
      StackMap stack:
            iload 0 /* referenceKind */
            i2b
            invokestatic java.lang.invoke.MethodHandleNatives.refKindName:(B)Ljava/lang/String;
            areturn
        end local 0 // int referenceKind
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0  referenceKind  I
    MethodParameters:
               Name  Flags
      referenceKind  

  public static java.lang.String toString(int, java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (ILjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // int kind
        start local 1 // java.lang.Class defc
        start local 2 // java.lang.String name
        start local 3 // java.lang.invoke.MethodType type
         0: .line 281
            aload 2 /* name */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
            aload 3 /* type */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 282
            ldc "%s %s.%s:%s"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            iload 0 /* kind */
            invokestatic java.lang.invoke.MethodHandleInfo.referenceKindToString:(I)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* defc */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* name */
            aastore
            dup
            iconst_3
            aload 3 /* type */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class defc
        end local 0 // int kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  kind  I
            0    2     1  defc  Ljava/lang/Class<*>;
            0    2     2  name  Ljava/lang/String;
            0    2     3  type  Ljava/lang/invoke/MethodType;
    Signature: (ILjava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      kind  
      defc  
      name  
      type  
}
SourceFile: "MethodHandleInfo.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles