class org.eclipse.jetty.jmx.MetaData$OperationInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jetty.jmx.MetaData$OperationInfo
  super_class: java.lang.Object
{
  private final java.lang.String _name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.reflect.Method _method;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean _proxied;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean _convert;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.management.MBeanOperationInfo _info;
    descriptor: Ljavax/management/MBeanOperationInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(org.eclipse.jetty.util.annotation.ManagedOperation, java.lang.reflect.Method);
    descriptor: (Lorg/eclipse/jetty/util/annotation/ManagedOperation;Ljava/lang/reflect/Method;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=3
        start local 0 // org.eclipse.jetty.jmx.MetaData$OperationInfo this
        start local 1 // org.eclipse.jetty.util.annotation.ManagedOperation operation
        start local 2 // java.lang.reflect.Method method
         0: .line 491
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 493
            aload 0 /* this */
            aload 2 /* method */
            invokestatic org.eclipse.jetty.jmx.MetaData.signature:(Ljava/lang/reflect/Method;)Ljava/lang/String;
            putfield org.eclipse.jetty.jmx.MetaData$OperationInfo._name:Ljava/lang/String;
         2: .line 495
            aload 0 /* this */
            aload 2 /* method */
            putfield org.eclipse.jetty.jmx.MetaData$OperationInfo._method:Ljava/lang/reflect/Method;
         3: .line 497
            aload 0 /* this */
            aload 1 /* operation */
            invokeinterface org.eclipse.jetty.util.annotation.ManagedOperation.proxied:()Z
            putfield org.eclipse.jetty.jmx.MetaData$OperationInfo._proxied:Z
         4: .line 499
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            astore 3 /* returnType */
        start local 3 // java.lang.Class returnType
         5: .line 500
            aload 0 /* this */
            aload 3 /* returnType */
            invokestatic org.eclipse.jetty.jmx.MetaData.isManagedObject:(Ljava/lang/Class;)Z
            putfield org.eclipse.jetty.jmx.MetaData$OperationInfo._convert:Z
         6: .line 501
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._convert:Z
            ifeq 10
         7: .line 502
            aload 3 /* returnType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 9
         8: .line 503
            ldc [Ljavax/management/ObjectName;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 11
         9: .line 504
      StackMap locals: org.eclipse.jetty.jmx.MetaData$OperationInfo org.eclipse.jetty.util.annotation.ManagedOperation java.lang.reflect.Method java.lang.Class
      StackMap stack:
            ldc Ljavax/management/ObjectName;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 11
        10: .line 505
      StackMap locals:
      StackMap stack:
            aload 3 /* returnType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        11: .line 501
      StackMap locals:
      StackMap stack: java.lang.String
            astore 4 /* returnSignature */
        start local 4 // java.lang.String returnSignature
        12: .line 507
            aload 1 /* operation */
            invokeinterface org.eclipse.jetty.util.annotation.ManagedOperation.impact:()Ljava/lang/String;
            astore 5 /* impactName */
        start local 5 // java.lang.String impactName
        13: .line 508
            iconst_3
            istore 6 /* impact */
        start local 6 // int impact
        14: .line 509
            ldc "ACTION"
            aload 5 /* impactName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 510
            iconst_1
            istore 6 /* impact */
            goto 20
        16: .line 511
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            ldc "INFO"
            aload 5 /* impactName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 512
            iconst_0
            istore 6 /* impact */
            goto 20
        18: .line 513
      StackMap locals:
      StackMap stack:
            ldc "ACTION_INFO"
            aload 5 /* impactName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        19: .line 514
            iconst_2
            istore 6 /* impact */
        20: .line 516
      StackMap locals:
      StackMap stack:
            aload 1 /* operation */
            invokeinterface org.eclipse.jetty.util.annotation.ManagedOperation.value:()Ljava/lang/String;
            astore 7 /* description */
        start local 7 // java.lang.String description
        21: .line 517
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getParameterAnnotations:()[[Ljava/lang/annotation/Annotation;
            invokestatic org.eclipse.jetty.jmx.MetaData$OperationInfo.parameters:([Ljava/lang/Class;[[Ljava/lang/annotation/Annotation;)[Ljavax/management/MBeanParameterInfo;
            astore 8 /* parameterInfos */
        start local 8 // javax.management.MBeanParameterInfo[] parameterInfos
        22: .line 518
            aload 0 /* this */
            new javax.management.MBeanOperationInfo
            dup
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 7 /* description */
            aload 8 /* parameterInfos */
            aload 4 /* returnSignature */
            iload 6 /* impact */
            invokespecial javax.management.MBeanOperationInfo.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljavax/management/MBeanParameterInfo;Ljava/lang/String;I)V
            putfield org.eclipse.jetty.jmx.MetaData$OperationInfo._info:Ljavax/management/MBeanOperationInfo;
        23: .line 519
            return
        end local 8 // javax.management.MBeanParameterInfo[] parameterInfos
        end local 7 // java.lang.String description
        end local 6 // int impact
        end local 5 // java.lang.String impactName
        end local 4 // java.lang.String returnSignature
        end local 3 // java.lang.Class returnType
        end local 2 // java.lang.reflect.Method method
        end local 1 // org.eclipse.jetty.util.annotation.ManagedOperation operation
        end local 0 // org.eclipse.jetty.jmx.MetaData$OperationInfo this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0             this  Lorg/eclipse/jetty/jmx/MetaData$OperationInfo;
            0   24     1        operation  Lorg/eclipse/jetty/util/annotation/ManagedOperation;
            0   24     2           method  Ljava/lang/reflect/Method;
            5   24     3       returnType  Ljava/lang/Class<*>;
           12   24     4  returnSignature  Ljava/lang/String;
           13   24     5       impactName  Ljava/lang/String;
           14   24     6           impact  I
           21   24     7      description  Ljava/lang/String;
           22   24     8   parameterInfos  [Ljavax/management/MBeanParameterInfo;
    MethodParameters:
           Name  Flags
      operation  
      method     

  public java.lang.Object invoke(java.lang.Object[], org.eclipse.jetty.jmx.ObjectMBean);
    descriptor: ([Ljava/lang/Object;Lorg/eclipse/jetty/jmx/ObjectMBean;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.eclipse.jetty.jmx.MetaData$OperationInfo this
        start local 1 // java.lang.Object[] args
        start local 2 // org.eclipse.jetty.jmx.ObjectMBean mbean
         0: .line 523
            getstatic org.eclipse.jetty.jmx.MetaData.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 524
            getstatic org.eclipse.jetty.jmx.MetaData.LOG:Lorg/slf4j/Logger;
            ldc "invoke {}.{}({}) {}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* mbean */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._info:Ljavax/management/MBeanOperationInfo;
            invokevirtual javax.management.MBeanOperationInfo.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* args */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._info:Ljavax/management/MBeanOperationInfo;
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 527
      StackMap locals:
      StackMap stack:
            aload 2 /* mbean */
            invokevirtual org.eclipse.jetty.jmx.ObjectMBean.getManagedObject:()Ljava/lang/Object;
            astore 3 /* target */
        start local 3 // java.lang.Object target
         3: .line 528
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._proxied:Z
            ifne 4
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            aload 2 /* mbean */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 529
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* mbean */
            astore 3 /* target */
         5: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._method:Ljava/lang/reflect/Method;
            aload 3 /* target */
            aload 1 /* args */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* result */
        start local 4 // java.lang.Object result
         6: .line 531
            aload 4 /* result */
            ifnonnull 8
         7: .line 532
            aconst_null
            areturn
         8: .line 533
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._convert:Z
            ifne 11
         9: .line 534
            aload 4 /* result */
        10: areturn
        11: .line 535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifne 14
        12: .line 536
            aload 2 /* mbean */
            aload 4 /* result */
            invokevirtual org.eclipse.jetty.jmx.ObjectMBean.findObjectName:(Ljava/lang/Object;)Ljavax/management/ObjectName;
        13: areturn
        14: .line 537
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 5 /* length */
        start local 5 // int length
        15: .line 538
            iload 5 /* length */
            anewarray javax.management.ObjectName
            astore 6 /* names */
        start local 6 // javax.management.ObjectName[] names
        16: .line 539
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        17: goto 20
        18: .line 541
      StackMap locals: int javax.management.ObjectName[] int
      StackMap stack:
            aload 6 /* names */
            iload 7 /* i */
            aload 2 /* mbean */
            aload 4 /* result */
            iload 7 /* i */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
            invokevirtual org.eclipse.jetty.jmx.ObjectMBean.findObjectName:(Ljava/lang/Object;)Ljavax/management/ObjectName;
            aastore
        19: .line 539
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            iload 5 /* length */
            if_icmplt 18
        end local 7 // int i
        21: .line 543
            aload 6 /* names */
        22: areturn
        end local 6 // javax.management.ObjectName[] names
        end local 5 // int length
        end local 4 // java.lang.Object result
        end local 3 // java.lang.Object target
        23: .line 545
      StackMap locals: org.eclipse.jetty.jmx.MetaData$OperationInfo java.lang.Object[] org.eclipse.jetty.jmx.ObjectMBean
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* x */
        start local 3 // java.lang.reflect.InvocationTargetException x
        24: .line 547
            aload 3 /* x */
            invokestatic org.eclipse.jetty.jmx.MetaData.toMBeanException:(Ljava/lang/reflect/InvocationTargetException;)Ljavax/management/MBeanException;
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException x
        25: .line 549
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* x */
        start local 3 // java.lang.Exception x
        26: .line 551
            new javax.management.ReflectionException
            dup
            aload 3 /* x */
            invokespecial javax.management.ReflectionException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.Exception x
        end local 2 // org.eclipse.jetty.jmx.ObjectMBean mbean
        end local 1 // java.lang.Object[] args
        end local 0 // org.eclipse.jetty.jmx.MetaData$OperationInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   27     0    this  Lorg/eclipse/jetty/jmx/MetaData$OperationInfo;
            0   27     1    args  [Ljava/lang/Object;
            0   27     2   mbean  Lorg/eclipse/jetty/jmx/ObjectMBean;
            3   23     3  target  Ljava/lang/Object;
            6   23     4  result  Ljava/lang/Object;
           15   23     5  length  I
           16   23     6   names  [Ljavax/management/ObjectName;
           17   21     7       i  I
           24   25     3       x  Ljava/lang/reflect/InvocationTargetException;
           26   27     3       x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     7      23  Class java.lang.reflect.InvocationTargetException
           8    10      23  Class java.lang.reflect.InvocationTargetException
          11    13      23  Class java.lang.reflect.InvocationTargetException
          14    22      23  Class java.lang.reflect.InvocationTargetException
           2     7      25  Class java.lang.Exception
           8    10      25  Class java.lang.Exception
          11    13      25  Class java.lang.Exception
          14    22      25  Class java.lang.Exception
    Exceptions:
      throws javax.management.ReflectionException, javax.management.MBeanException
    MethodParameters:
       Name  Flags
      args   
      mbean  

  private static javax.management.MBeanParameterInfo[] parameters(java.lang.Class<?>[], java.lang.annotation.Annotation[][]);
    descriptor: ([Ljava/lang/Class;[[Ljava/lang/annotation/Annotation;)[Ljavax/management/MBeanParameterInfo;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=12, args_size=2
        start local 0 // java.lang.Class[] parameterTypes
        start local 1 // java.lang.annotation.Annotation[][] parametersAnnotations
         0: .line 557
            aload 0 /* parameterTypes */
            arraylength
            anewarray javax.management.MBeanParameterInfo
            astore 2 /* result */
        start local 2 // javax.management.MBeanParameterInfo[] result
         1: .line 558
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 17
         3: .line 560
      StackMap locals: javax.management.MBeanParameterInfo[] int
      StackMap stack:
            aconst_null
            astore 4 /* info */
        start local 4 // javax.management.MBeanParameterInfo info
         4: .line 561
            aload 0 /* parameterTypes */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 5 /* typeName */
        start local 5 // java.lang.String typeName
         5: .line 562
            aload 1 /* parametersAnnotations */
            iload 3 /* i */
            aaload
            astore 6 /* parameterAnnotations */
        start local 6 // java.lang.annotation.Annotation[] parameterAnnotations
         6: .line 563
            aload 6 /* parameterAnnotations */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 13
      StackMap locals: java.lang.Class[] java.lang.annotation.Annotation[][] javax.management.MBeanParameterInfo[] int javax.management.MBeanParameterInfo java.lang.String java.lang.annotation.Annotation[] top int int java.lang.annotation.Annotation[]
      StackMap stack:
         7: aload 10
            iload 8
            aaload
            astore 7 /* parameterAnnotation */
        start local 7 // java.lang.annotation.Annotation parameterAnnotation
         8: .line 565
            aload 7 /* parameterAnnotation */
            instanceof org.eclipse.jetty.util.annotation.Name
            ifeq 12
         9: .line 567
            aload 7 /* parameterAnnotation */
            checkcast org.eclipse.jetty.util.annotation.Name
            astore 11 /* name */
        start local 11 // org.eclipse.jetty.util.annotation.Name name
        10: .line 568
            aload 2 /* result */
            iload 3 /* i */
            new javax.management.MBeanParameterInfo
            dup
            aload 11 /* name */
            invokeinterface org.eclipse.jetty.util.annotation.Name.value:()Ljava/lang/String;
            aload 5 /* typeName */
            aload 11 /* name */
            invokeinterface org.eclipse.jetty.util.annotation.Name.description:()Ljava/lang/String;
            invokespecial javax.management.MBeanParameterInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            dup_x2
            aastore
            astore 4 /* info */
        11: .line 569
            goto 14
        end local 11 // org.eclipse.jetty.util.annotation.Name name
        end local 7 // java.lang.annotation.Annotation parameterAnnotation
        12: .line 563
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        13: iload 8
            iload 9
            if_icmplt 7
        14: .line 572
      StackMap locals: java.lang.Class[] java.lang.annotation.Annotation[][] javax.management.MBeanParameterInfo[] int javax.management.MBeanParameterInfo java.lang.String java.lang.annotation.Annotation[]
      StackMap stack:
            aload 4 /* info */
            ifnonnull 16
        15: .line 573
            aload 2 /* result */
            iload 3 /* i */
            new javax.management.MBeanParameterInfo
            dup
            new java.lang.StringBuilder
            dup
            ldc "p"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* typeName */
            ldc ""
            invokespecial javax.management.MBeanParameterInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            aastore
        end local 6 // java.lang.annotation.Annotation[] parameterAnnotations
        end local 5 // java.lang.String typeName
        end local 4 // javax.management.MBeanParameterInfo info
        16: .line 558
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* i */
            aload 1 /* parametersAnnotations */
            arraylength
            if_icmplt 3
        end local 3 // int i
        18: .line 575
            aload 2 /* result */
            areturn
        end local 2 // javax.management.MBeanParameterInfo[] result
        end local 1 // java.lang.annotation.Annotation[][] parametersAnnotations
        end local 0 // java.lang.Class[] parameterTypes
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   19     0         parameterTypes  [Ljava/lang/Class;
            0   19     1  parametersAnnotations  [[Ljava/lang/annotation/Annotation;
            1   19     2                 result  [Ljavax/management/MBeanParameterInfo;
            2   18     3                      i  I
            4   16     4                   info  Ljavax/management/MBeanParameterInfo;
            5   16     5               typeName  Ljava/lang/String;
            6   16     6   parameterAnnotations  [Ljava/lang/annotation/Annotation;
            8   12     7    parameterAnnotation  Ljava/lang/annotation/Annotation;
           10   12    11                   name  Lorg/eclipse/jetty/util/annotation/Name;
    Signature: ([Ljava/lang/Class<*>;[[Ljava/lang/annotation/Annotation;)[Ljavax/management/MBeanParameterInfo;
    MethodParameters:
                       Name  Flags
      parameterTypes         
      parametersAnnotations  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.jmx.MetaData$OperationInfo this
         0: .line 581
            ldc "%s@%x[%s,proxied=%b,convert=%b]"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
         1: .line 582
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._name:Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._proxied:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$OperationInfo._convert:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
         2: .line 581
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.jmx.MetaData$OperationInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jetty/jmx/MetaData$OperationInfo;
}
SourceFile: "MetaData.java"
NestHost: org.eclipse.jetty.jmx.MetaData
InnerClasses:
  private OperationInfo = org.eclipse.jetty.jmx.MetaData$OperationInfo of org.eclipse.jetty.jmx.MetaData