public interface io.micronaut.inject.MethodReference<T, R> extends io.micronaut.core.annotation.AnnotationMetadataDelegate, io.micronaut.core.annotation.AnnotatedElement
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.micronaut.inject.MethodReference
  super_class: java.lang.Object
{
  public abstract io.micronaut.core.type.Argument[] getArguments();
    descriptor: ()[Lio/micronaut/core/type/Argument;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.reflect.Method getTargetMethod();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract io.micronaut.core.type.ReturnType<R> getReturnType();
    descriptor: ()Lio/micronaut/core/type/ReturnType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lio/micronaut/core/type/ReturnType<TR;>;

  public abstract java.lang.Class<T> getDeclaringType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<TT;>;

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

  public java.lang.Class[] getArgumentTypes();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.micronaut.inject.MethodReference this
         0: .line 67
            aload 0 /* this */
            invokeinterface io.micronaut.inject.MethodReference.getArguments:()[Lio/micronaut/core/type/Argument;
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         1: .line 68
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  io/micronaut/core/type/Argument.getType()Ljava/lang/Class; (9 itf)
                  (Lio/micronaut/core/type/Argument;)Ljava/lang/Class;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 69
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  io/micronaut/inject/MethodReference.lambda$1(I)[Ljava/lang/Class; (6 itf)
                  (I)[Ljava/lang/Class;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast java.lang.Class[]
         3: .line 66
            areturn
        end local 0 // io.micronaut.inject.MethodReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/micronaut/inject/MethodReference<TT;TR;>;

  public java.lang.String[] getArgumentNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.micronaut.inject.MethodReference this
         0: .line 77
            aload 0 /* this */
            invokeinterface io.micronaut.inject.MethodReference.getArguments:()[Lio/micronaut/core/type/Argument;
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         1: .line 78
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  io/micronaut/core/type/Argument.getName()Ljava/lang/String; (9 itf)
                  (Lio/micronaut/core/type/Argument;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 79
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  io/micronaut/inject/MethodReference.lambda$3(I)[Ljava/lang/String; (6 itf)
                  (I)[Ljava/lang/String;
            invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
            checkcast java.lang.String[]
         3: .line 76
            areturn
        end local 0 // io.micronaut.inject.MethodReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/micronaut/inject/MethodReference<TT;TR;>;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.inject.MethodReference this
         0: .line 85
            aload 0 /* this */
            invokeinterface io.micronaut.inject.MethodReference.getMethodName:()Ljava/lang/String;
            areturn
        end local 0 // io.micronaut.inject.MethodReference this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/inject/MethodReference<TT;TR;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  private static java.lang.Class[] lambda$1(int);
    descriptor: (I)[Ljava/lang/Class;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray java.lang.Class
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String[] lambda$3(int);
    descriptor: (I)[Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            iload 0
            anewarray java.lang.String
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>Ljava/lang/Object;Lio/micronaut/core/annotation/AnnotationMetadataDelegate;Lio/micronaut/core/annotation/AnnotatedElement;
SourceFile: "MethodReference.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles