final class jdk.jfr.internal.AnnotationConstruct$AnnotationInvokationHandler implements java.lang.reflect.InvocationHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.AnnotationConstruct$AnnotationInvokationHandler
  super_class: java.lang.Object
{
  private final jdk.jfr.AnnotationElement annotationElement;
    descriptor: Ljdk/jfr/AnnotationElement;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(jdk.jfr.AnnotationElement);
    descriptor: (Ljdk/jfr/AnnotationElement;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.AnnotationConstruct$AnnotationInvokationHandler this
        start local 1 // jdk.jfr.AnnotationElement a
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            aload 0 /* this */
            aload 1 /* a */
            putfield jdk.jfr.internal.AnnotationConstruct$AnnotationInvokationHandler.annotationElement:Ljdk/jfr/AnnotationElement;
         2: .line 48
            return
        end local 1 // jdk.jfr.AnnotationElement a
        end local 0 // jdk.jfr.internal.AnnotationConstruct$AnnotationInvokationHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jfr/internal/AnnotationConstruct$AnnotationInvokationHandler;
            0    3     1     a  Ljdk/jfr/AnnotationElement;
    MethodParameters:
      Name  Flags
      a     

  public java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // jdk.jfr.internal.AnnotationConstruct$AnnotationInvokationHandler this
        start local 1 // java.lang.Object proxy
        start local 2 // java.lang.reflect.Method method
        start local 3 // java.lang.Object[] args
         0: .line 52
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 4 /* methodName */
        start local 4 // java.lang.String methodName
         1: .line 53
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getTypeParameters:()[Ljava/lang/reflect/TypeVariable;
            arraylength
            istore 5 /* parameters */
        start local 5 // int parameters
         2: .line 54
            iload 5 /* parameters */
            ifne 4
            aload 0 /* this */
            getfield jdk.jfr.internal.AnnotationConstruct$AnnotationInvokationHandler.annotationElement:Ljdk/jfr/AnnotationElement;
            aload 4 /* methodName */
            invokevirtual jdk.jfr.AnnotationElement.hasValue:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 55
            aload 0 /* this */
            getfield jdk.jfr.internal.AnnotationConstruct$AnnotationInvokationHandler.annotationElement:Ljdk/jfr/AnnotationElement;
            aload 4 /* methodName */
            invokevirtual jdk.jfr.AnnotationElement.getValue:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
         4: .line 57
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            ldc "Flight Recorder proxy only supports members declared in annotation interfaces, i.e. not toString, equals etc."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // int parameters
        end local 4 // java.lang.String methodName
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.Object proxy
        end local 0 // jdk.jfr.internal.AnnotationConstruct$AnnotationInvokationHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljdk/jfr/internal/AnnotationConstruct$AnnotationInvokationHandler;
            0    5     1       proxy  Ljava/lang/Object;
            0    5     2      method  Ljava/lang/reflect/Method;
            0    5     3        args  [Ljava/lang/Object;
            1    5     4  methodName  Ljava/lang/String;
            2    5     5  parameters  I
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
        Name  Flags
      proxy   
      method  
      args    
}
SourceFile: "AnnotationConstruct.java"
NestHost: jdk.jfr.internal.AnnotationConstruct
InnerClasses:
  private final AnnotationInvokationHandler = jdk.jfr.internal.AnnotationConstruct$AnnotationInvokationHandler of jdk.jfr.internal.AnnotationConstruct