public class net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm extends net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$AbstractBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm
  super_class: net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$AbstractBase
{
  private final java.lang.reflect.Method revealDirect;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(java.lang.reflect.Method, java.lang.reflect.Method, java.lang.reflect.Method, java.lang.reflect.Method, java.lang.reflect.Method, 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;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=10, args_size=10
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm this
        start local 1 // java.lang.reflect.Method publicLookup
        start local 2 // java.lang.reflect.Method getName
        start local 3 // java.lang.reflect.Method getDeclaringClass
        start local 4 // java.lang.reflect.Method getReferenceKind
        start local 5 // java.lang.reflect.Method getMethodType
        start local 6 // java.lang.reflect.Method returnType
        start local 7 // java.lang.reflect.Method parameterArray
        start local 8 // java.lang.reflect.Method lookupClass
        start local 9 // java.lang.reflect.Method revealDirect
         0: .line 1095
            aload 0 /* this */
            aload 1 /* publicLookup */
            aload 2 /* getName */
            aload 3 /* getDeclaringClass */
            aload 4 /* getReferenceKind */
            aload 5 /* getMethodType */
            aload 6 /* returnType */
            aload 7 /* parameterArray */
            aload 8 /* lookupClass */
            invokespecial net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$AbstractBase.<init>:(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V
         1: .line 1096
            aload 0 /* this */
            aload 9 /* revealDirect */
            putfield net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm.revealDirect:Ljava/lang/reflect/Method;
         2: .line 1097
            return
        end local 9 // java.lang.reflect.Method revealDirect
        end local 8 // java.lang.reflect.Method lookupClass
        end local 7 // java.lang.reflect.Method parameterArray
        end local 6 // java.lang.reflect.Method returnType
        end local 5 // java.lang.reflect.Method getMethodType
        end local 4 // java.lang.reflect.Method getReferenceKind
        end local 3 // java.lang.reflect.Method getDeclaringClass
        end local 2 // java.lang.reflect.Method getName
        end local 1 // java.lang.reflect.Method publicLookup
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lnet/bytebuddy/utility/JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm;
            0    3     1       publicLookup  Ljava/lang/reflect/Method;
            0    3     2            getName  Ljava/lang/reflect/Method;
            0    3     3  getDeclaringClass  Ljava/lang/reflect/Method;
            0    3     4   getReferenceKind  Ljava/lang/reflect/Method;
            0    3     5      getMethodType  Ljava/lang/reflect/Method;
            0    3     6         returnType  Ljava/lang/reflect/Method;
            0    3     7     parameterArray  Ljava/lang/reflect/Method;
            0    3     8        lookupClass  Ljava/lang/reflect/Method;
            0    3     9       revealDirect  Ljava/lang/reflect/Method;
    MethodParameters:
                   Name  Flags
      publicLookup       
      getName            
      getDeclaringClass  
      getReferenceKind   
      getMethodType      
      returnType         
      parameterArray     
      lookupClass        
      revealDirect       

  public java.lang.Object reveal(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm this
        start local 1 // java.lang.Object lookup
        start local 2 // java.lang.Object methodHandle
         0: .line 1104
            aload 0 /* this */
            getfield net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm.revealDirect:Ljava/lang/reflect/Method;
            aload 1 /* lookup */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* methodHandle */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 1105
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* exception */
        start local 3 // java.lang.IllegalAccessException exception
         3: .line 1106
            new java.lang.IllegalStateException
            dup
            ldc "Cannot access java.lang.invoke.MethodHandles.Lookup#revealDirect"
            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 1107
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* exception */
        start local 3 // java.lang.reflect.InvocationTargetException exception
         5: .line 1108
            new java.lang.IllegalStateException
            dup
            ldc "Error invoking java.lang.invoke.MethodHandles.Lookup#revealDirect"
            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 // java.lang.Object methodHandle
        end local 1 // java.lang.Object lookup
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lnet/bytebuddy/utility/JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm;
            0    6     1        lookup  Ljava/lang/Object;
            0    6     2  methodHandle  Ljava/lang/Object;
            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
      lookup        
      methodHandle  

  public net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher initialize();
    descriptor: ()Lnet/bytebuddy/utility/JavaConstant$MethodHandle$Dispatcher;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm this
         0: .line 1116
            aload 0 /* this */
            areturn
        end local 0 // net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/utility/JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm;
}
SourceFile: "JavaConstant.java"
NestHost: net.bytebuddy.utility.JavaConstant
InnerClasses:
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public MethodHandle = net.bytebuddy.utility.JavaConstant$MethodHandle of net.bytebuddy.utility.JavaConstant
  protected abstract Dispatcher = net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher of net.bytebuddy.utility.JavaConstant$MethodHandle
  public abstract AbstractBase = net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$AbstractBase of net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher
  public ForJava8CapableVm = net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher$ForJava8CapableVm of net.bytebuddy.utility.JavaConstant$MethodHandle$Dispatcher
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()