public class net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm implements net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm
  super_class: java.lang.Object
{
  private static final java.lang.Object[] NO_ARGUMENTS;
    descriptor: [Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 432
            iconst_0
            anewarray java.lang.Object
            putstatic net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.NO_ARGUMENTS:[Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.lang.reflect.Method, java.lang.reflect.Method, java.lang.reflect.Method, java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm this
        start local 1 // java.lang.reflect.Method getParameters
        start local 2 // java.lang.reflect.Method getName
        start local 3 // java.lang.reflect.Method isNamePresent
        start local 4 // java.lang.reflect.Method getModifiers
         0: .line 462
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 463
            aload 0 /* this */
            aload 1 /* getParameters */
            putfield net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.getParameters:Ljava/lang/reflect/Method;
         2: .line 464
            aload 0 /* this */
            aload 2 /* getName */
            putfield net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.getName:Ljava/lang/reflect/Method;
         3: .line 465
            aload 0 /* this */
            aload 3 /* isNamePresent */
            putfield net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.isNamePresent:Ljava/lang/reflect/Method;
         4: .line 466
            aload 0 /* this */
            aload 4 /* getModifiers */
            putfield net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.getModifiers:Ljava/lang/reflect/Method;
         5: .line 467
            return
        end local 4 // java.lang.reflect.Method getModifiers
        end local 3 // java.lang.reflect.Method isNamePresent
        end local 2 // java.lang.reflect.Method getName
        end local 1 // java.lang.reflect.Method getParameters
        end local 0 // net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lnet/bytebuddy/description/method/ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm;
            0    6     1  getParameters  Ljava/lang/reflect/Method;
            0    6     2        getName  Ljava/lang/reflect/Method;
            0    6     3  isNamePresent  Ljava/lang/reflect/Method;
            0    6     4   getModifiers  Ljava/lang/reflect/Method;
    MethodParameters:
               Name  Flags
      getParameters  
      getName        
      isNamePresent  
      getModifiers   

  public int getModifiers(java.lang.reflect.AccessibleObject, int);
    descriptor: (Ljava/lang/reflect/AccessibleObject;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm this
        start local 1 // java.lang.reflect.AccessibleObject executable
        start local 2 // int index
         0: .line 474
            aload 0 /* this */
            getfield net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.getModifiers:Ljava/lang/reflect/Method;
            aload 0 /* this */
            aload 1 /* executable */
            iload 2 /* index */
            invokevirtual net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.getParameter:(Ljava/lang/reflect/AccessibleObject;I)Ljava/lang/Object;
            getstatic net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.NO_ARGUMENTS:[Ljava/lang/Object;
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
         1: ireturn
         2: .line 475
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* exception */
        start local 3 // java.lang.IllegalAccessException exception
         3: .line 476
            new java.lang.IllegalStateException
            dup
            ldc "Cannot access java.lang.reflect.Parameter#getModifiers"
            aload 3 /* exception */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException exception
         4: .line 477
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* exception */
        start local 3 // java.lang.reflect.InvocationTargetException exception
         5: .line 478
            new java.lang.IllegalStateException
            dup
            ldc "Error invoking java.lang.reflect.Parameter#getModifiers"
            aload 3 /* exception */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException exception
        end local 2 // int index
        end local 1 // java.lang.reflect.AccessibleObject executable
        end local 0 // net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lnet/bytebuddy/description/method/ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm;
            0    6     1  executable  Ljava/lang/reflect/AccessibleObject;
            0    6     2       index  I
            3    4     3   exception  Ljava/lang/IllegalAccessException;
            5    6     3   exception  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       4  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
            Name  Flags
      executable  
      index       

  public boolean isNamePresent(java.lang.reflect.AccessibleObject, int);
    descriptor: (Ljava/lang/reflect/AccessibleObject;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm this
        start local 1 // java.lang.reflect.AccessibleObject executable
        start local 2 // int index
         0: .line 487
            aload 0 /* this */
            getfield net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.isNamePresent:Ljava/lang/reflect/Method;
            aload 0 /* this */
            aload 1 /* executable */
            iload 2 /* index */
            invokevirtual net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.getParameter:(Ljava/lang/reflect/AccessibleObject;I)Ljava/lang/Object;
            getstatic net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.NO_ARGUMENTS:[Ljava/lang/Object;
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
         1: ireturn
         2: .line 488
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* exception */
        start local 3 // java.lang.IllegalAccessException exception
         3: .line 489
            new java.lang.IllegalStateException
            dup
            ldc "Cannot access java.lang.reflect.Parameter#isNamePresent"
            aload 3 /* exception */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException exception
         4: .line 490
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* exception */
        start local 3 // java.lang.reflect.InvocationTargetException exception
         5: .line 491
            new java.lang.IllegalStateException
            dup
            ldc "Error invoking java.lang.reflect.Parameter#isNamePresent"
            aload 3 /* exception */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException exception
        end local 2 // int index
        end local 1 // java.lang.reflect.AccessibleObject executable
        end local 0 // net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lnet/bytebuddy/description/method/ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm;
            0    6     1  executable  Ljava/lang/reflect/AccessibleObject;
            0    6     2       index  I
            3    4     3   exception  Ljava/lang/IllegalAccessException;
            5    6     3   exception  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       4  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
            Name  Flags
      executable  
      index       

  public java.lang.String getName(java.lang.reflect.AccessibleObject, int);
    descriptor: (Ljava/lang/reflect/AccessibleObject;I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm this
        start local 1 // java.lang.reflect.AccessibleObject executable
        start local 2 // int index
         0: .line 500
            aload 0 /* this */
            getfield net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.getName:Ljava/lang/reflect/Method;
            aload 0 /* this */
            aload 1 /* executable */
            iload 2 /* index */
            invokevirtual net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.getParameter:(Ljava/lang/reflect/AccessibleObject;I)Ljava/lang/Object;
            getstatic net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.NO_ARGUMENTS:[Ljava/lang/Object;
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
         1: areturn
         2: .line 501
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* exception */
        start local 3 // java.lang.IllegalAccessException exception
         3: .line 502
            new java.lang.IllegalStateException
            dup
            ldc "Cannot access java.lang.reflect.Parameter#getName"
            aload 3 /* exception */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException exception
         4: .line 503
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* exception */
        start local 3 // java.lang.reflect.InvocationTargetException exception
         5: .line 504
            new java.lang.IllegalStateException
            dup
            ldc "Error invoking java.lang.reflect.Parameter#getName"
            aload 3 /* exception */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException exception
        end local 2 // int index
        end local 1 // java.lang.reflect.AccessibleObject executable
        end local 0 // net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lnet/bytebuddy/description/method/ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm;
            0    6     1  executable  Ljava/lang/reflect/AccessibleObject;
            0    6     2       index  I
            3    4     3   exception  Ljava/lang/IllegalAccessException;
            5    6     3   exception  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       4  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
            Name  Flags
      executable  
      index       

  private java.lang.Object getParameter(java.lang.reflect.AccessibleObject, int);
    descriptor: (Ljava/lang/reflect/AccessibleObject;I)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm this
        start local 1 // java.lang.reflect.AccessibleObject executable
        start local 2 // int index
         0: .line 517
            aload 0 /* this */
            getfield net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.getParameters:Ljava/lang/reflect/Method;
            aload 1 /* executable */
            getstatic net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm.NO_ARGUMENTS:[Ljava/lang/Object;
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            iload 2 /* index */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
         1: areturn
         2: .line 518
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* exception */
        start local 3 // java.lang.IllegalAccessException exception
         3: .line 519
            new java.lang.IllegalStateException
            dup
            ldc "Cannot access java.lang.reflect.Executable#getParameters"
            aload 3 /* exception */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException exception
         4: .line 520
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* exception */
        start local 3 // java.lang.reflect.InvocationTargetException exception
         5: .line 521
            new java.lang.IllegalStateException
            dup
            ldc "Error invoking java.lang.reflect.Executable#getParameters"
            aload 3 /* exception */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException exception
        end local 2 // int index
        end local 1 // java.lang.reflect.AccessibleObject executable
        end local 0 // net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lnet/bytebuddy/description/method/ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm;
            0    6     1  executable  Ljava/lang/reflect/AccessibleObject;
            0    6     2       index  I
            3    4     3   exception  Ljava/lang/IllegalAccessException;
            5    6     3   exception  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       4  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
            Name  Flags
      executable  
      index       
}
SourceFile: "ParameterDescription.java"
NestHost: net.bytebuddy.description.method.ParameterDescription
InnerClasses:
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract ForLoadedParameter = net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter of net.bytebuddy.description.method.ParameterDescription
  protected abstract Dispatcher = net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher of net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter
  public ForJava8CapableVm = net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher$ForJava8CapableVm of net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Dispatcher
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()