public interface io.micronaut.aop.InterceptedMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.micronaut.aop.InterceptedMethod
  super_class: java.lang.Object
{
  public static io.micronaut.aop.InterceptedMethod of(io.micronaut.aop.MethodInvocationContext<?, ?>);
    descriptor: (Lio/micronaut/aop/MethodInvocationContext;)Lio/micronaut/aop/InterceptedMethod;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.aop.MethodInvocationContext context
         0: .line 42
            aload 0 /* context */
            invokestatic io.micronaut.aop.internal.intercepted.InterceptedMethodUtil.of:(Lio/micronaut/aop/MethodInvocationContext;)Lio/micronaut/aop/InterceptedMethod;
            areturn
        end local 0 // io.micronaut.aop.MethodInvocationContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lio/micronaut/aop/MethodInvocationContext<**>;
    Signature: (Lio/micronaut/aop/MethodInvocationContext<**>;)Lio/micronaut/aop/InterceptedMethod;
    MethodParameters:
         Name  Flags
      context  

  public abstract io.micronaut.aop.InterceptedMethod$ResultType resultType();
    descriptor: ()Lio/micronaut/aop/InterceptedMethod$ResultType;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract io.micronaut.core.type.Argument<?> returnTypeValue();
    descriptor: ()Lio/micronaut/core/type/Argument;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Lio/micronaut/core/type/Argument<*>;

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

  public abstract  interceptResult(io.micronaut.aop.Interceptor<?, ?>);
    descriptor: (Lio/micronaut/aop/Interceptor;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/micronaut/aop/Interceptor<**>;)Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      from  

  public java.util.concurrent.CompletionStage<?> interceptResultAsCompletionStage();
    descriptor: ()Ljava/util/concurrent/CompletionStage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.micronaut.aop.InterceptedMethod this
         0: .line 81
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.resultType:()Lio/micronaut/aop/InterceptedMethod$ResultType;
            getstatic io.micronaut.aop.InterceptedMethod$ResultType.COMPLETION_STAGE:Lio/micronaut/aop/InterceptedMethod$ResultType;
            if_acmpeq 2
         1: .line 82
            new io.micronaut.context.exceptions.ConfigurationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot return `CompletionStage` result from '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.resultType:()Lio/micronaut/aop/InterceptedMethod$ResultType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "' interceptor"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.micronaut.context.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.interceptResult:()Ljava/lang/Object;
            checkcast java.util.concurrent.CompletionStage
            areturn
        end local 0 // io.micronaut.aop.InterceptedMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/micronaut/aop/InterceptedMethod;
    Signature: ()Ljava/util/concurrent/CompletionStage<*>;

  public org.reactivestreams.Publisher<?> interceptResultAsPublisher();
    descriptor: ()Lorg/reactivestreams/Publisher;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.micronaut.aop.InterceptedMethod this
         0: .line 93
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.resultType:()Lio/micronaut/aop/InterceptedMethod$ResultType;
            getstatic io.micronaut.aop.InterceptedMethod$ResultType.PUBLISHER:Lio/micronaut/aop/InterceptedMethod$ResultType;
            if_acmpeq 2
         1: .line 94
            new io.micronaut.context.exceptions.ConfigurationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot return `Publisher` result from '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.resultType:()Lio/micronaut/aop/InterceptedMethod$ResultType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "' interceptor"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.micronaut.context.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.interceptResult:()Ljava/lang/Object;
            checkcast org.reactivestreams.Publisher
            areturn
        end local 0 // io.micronaut.aop.InterceptedMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/micronaut/aop/InterceptedMethod;
    Signature: ()Lorg/reactivestreams/Publisher<*>;

  public java.util.concurrent.CompletionStage<?> interceptResultAsCompletionStage(io.micronaut.aop.Interceptor<?, ?>);
    descriptor: (Lio/micronaut/aop/Interceptor;)Ljava/util/concurrent/CompletionStage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.micronaut.aop.InterceptedMethod this
        start local 1 // io.micronaut.aop.Interceptor from
         0: .line 106
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.resultType:()Lio/micronaut/aop/InterceptedMethod$ResultType;
            getstatic io.micronaut.aop.InterceptedMethod$ResultType.COMPLETION_STAGE:Lio/micronaut/aop/InterceptedMethod$ResultType;
            if_acmpeq 2
         1: .line 107
            new io.micronaut.context.exceptions.ConfigurationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot return `CompletionStage` result from '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.resultType:()Lio/micronaut/aop/InterceptedMethod$ResultType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "' interceptor"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.micronaut.context.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* from */
            invokeinterface io.micronaut.aop.InterceptedMethod.interceptResult:(Lio/micronaut/aop/Interceptor;)Ljava/lang/Object;
            checkcast java.util.concurrent.CompletionStage
            areturn
        end local 1 // io.micronaut.aop.Interceptor from
        end local 0 // io.micronaut.aop.InterceptedMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/micronaut/aop/InterceptedMethod;
            0    3     1  from  Lio/micronaut/aop/Interceptor<**>;
    Signature: (Lio/micronaut/aop/Interceptor<**>;)Ljava/util/concurrent/CompletionStage<*>;
    MethodParameters:
      Name  Flags
      from  

  public org.reactivestreams.Publisher<?> interceptResultAsPublisher(io.micronaut.aop.Interceptor<?, ?>);
    descriptor: (Lio/micronaut/aop/Interceptor;)Lorg/reactivestreams/Publisher;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.micronaut.aop.InterceptedMethod this
        start local 1 // io.micronaut.aop.Interceptor from
         0: .line 119
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.resultType:()Lio/micronaut/aop/InterceptedMethod$ResultType;
            getstatic io.micronaut.aop.InterceptedMethod$ResultType.PUBLISHER:Lio/micronaut/aop/InterceptedMethod$ResultType;
            if_acmpeq 2
         1: .line 120
            new io.micronaut.context.exceptions.ConfigurationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot return `Publisher` result from '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.resultType:()Lio/micronaut/aop/InterceptedMethod$ResultType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "' interceptor"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.micronaut.context.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* from */
            invokeinterface io.micronaut.aop.InterceptedMethod.interceptResult:(Lio/micronaut/aop/Interceptor;)Ljava/lang/Object;
            checkcast org.reactivestreams.Publisher
            areturn
        end local 1 // io.micronaut.aop.Interceptor from
        end local 0 // io.micronaut.aop.InterceptedMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/micronaut/aop/InterceptedMethod;
            0    3     1  from  Lio/micronaut/aop/Interceptor<**>;
    Signature: (Lio/micronaut/aop/Interceptor<**>;)Lorg/reactivestreams/Publisher<*>;
    MethodParameters:
      Name  Flags
      from  

  public abstract java.lang.Object handleResult(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      result  

  public abstract <E extends java.lang.Throwable>  handleException(java.lang.Exception) throws E;
    descriptor: (Ljava/lang/Exception;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.Throwable
    Signature: <E:Ljava/lang/Throwable;>(Ljava/lang/Exception;)Ljava/lang/Object;^TE;
    MethodParameters:
           Name  Flags
      exception  

  public java.lang.Object unsupported();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.micronaut.aop.InterceptedMethod this
         0: .line 150
            new io.micronaut.context.exceptions.ConfigurationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot intercept method invocation, missing '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokeinterface io.micronaut.aop.InterceptedMethod.resultType:()Lio/micronaut/aop/InterceptedMethod$ResultType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "' interceptor configured"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.micronaut.context.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // io.micronaut.aop.InterceptedMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/aop/InterceptedMethod;
}
SourceFile: "InterceptedMethod.java"
NestMembers:
  io.micronaut.aop.InterceptedMethod$ResultType
InnerClasses:
  public final ResultType = io.micronaut.aop.InterceptedMethod$ResultType of io.micronaut.aop.InterceptedMethod