public final class jdk.dynalink.linker.support.Lookup
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.dynalink.linker.support.Lookup
  super_class: java.lang.Object
{
  private final java.lang.invoke.MethodHandles$Lookup lookup;
    descriptor: Ljava/lang/invoke/MethodHandles$Lookup;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final jdk.dynalink.linker.support.Lookup PUBLIC;
    descriptor: Ljdk/dynalink/linker/support/Lookup;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 93
            new jdk.dynalink.linker.support.Lookup
            dup
            invokestatic java.lang.invoke.MethodHandles.publicLookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            invokespecial jdk.dynalink.linker.support.Lookup.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;)V
            putstatic jdk.dynalink.linker.support.Lookup.PUBLIC:Ljdk/dynalink/linker/support/Lookup;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.invoke.MethodHandles$Lookup);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.invoke.MethodHandles$Lookup lookup
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 87
            aload 0 /* this */
            aload 1 /* lookup */
            putfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
         2: .line 88
            return
        end local 1 // java.lang.invoke.MethodHandles$Lookup lookup
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/dynalink/linker/support/Lookup;
            0    3     1  lookup  Ljava/lang/invoke/MethodHandles$Lookup;
    MethodParameters:
        Name  Flags
      lookup  final

  public java.lang.invoke.MethodHandle unreflect(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.reflect.Method m
         0: .line 105
            aload 0 /* this */
            getfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* m */
            invokestatic jdk.dynalink.linker.support.Lookup.unreflect:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.reflect.Method m
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/linker/support/Lookup;
            0    1     1     m  Ljava/lang/reflect/Method;
    MethodParameters:
      Name  Flags
      m     final

  public static java.lang.invoke.MethodHandle unreflect(java.lang.invoke.MethodHandles$Lookup, java.lang.reflect.Method);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup lookup
        start local 1 // java.lang.reflect.Method m
         0: .line 120
            aload 0 /* lookup */
            aload 1 /* m */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflect:(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
         1: areturn
         2: .line 121
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
         3: .line 122
            new java.lang.IllegalAccessError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to unreflect method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* m */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            astore 3 /* ee */
        start local 3 // java.lang.IllegalAccessError ee
         4: .line 123
            aload 3 /* ee */
            aload 2 /* e */
            invokevirtual java.lang.IllegalAccessError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         5: .line 124
            aload 3 /* ee */
            athrow
        end local 3 // java.lang.IllegalAccessError ee
        end local 2 // java.lang.IllegalAccessException e
        end local 1 // java.lang.reflect.Method m
        end local 0 // java.lang.invoke.MethodHandles$Lookup lookup
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  lookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    6     1       m  Ljava/lang/reflect/Method;
            3    6     2       e  Ljava/lang/IllegalAccessException;
            4    6     3      ee  Ljava/lang/IllegalAccessError;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
    MethodParameters:
        Name  Flags
      lookup  final
      m       final

  public java.lang.invoke.MethodHandle unreflectGetter(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.reflect.Field f
         0: .line 138
            aload 0 /* this */
            getfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* f */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflectGetter:(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;
         1: areturn
         2: .line 139
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
         3: .line 140
            new java.lang.IllegalAccessError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to unreflect getter for field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* f */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            astore 3 /* ee */
        start local 3 // java.lang.IllegalAccessError ee
         4: .line 141
            aload 3 /* ee */
            aload 2 /* e */
            invokevirtual java.lang.IllegalAccessError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         5: .line 142
            aload 3 /* ee */
            athrow
        end local 3 // java.lang.IllegalAccessError ee
        end local 2 // java.lang.IllegalAccessException e
        end local 1 // java.lang.reflect.Field f
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/dynalink/linker/support/Lookup;
            0    6     1     f  Ljava/lang/reflect/Field;
            3    6     2     e  Ljava/lang/IllegalAccessException;
            4    6     3    ee  Ljava/lang/IllegalAccessError;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      f     final

  public java.lang.invoke.MethodHandle findGetter(java.lang.Class<?>, java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.Class refc
        start local 2 // java.lang.String name
        start local 3 // java.lang.Class type
         0: .line 161
            aload 0 /* this */
            getfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* refc */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findGetter:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
         1: areturn
         2: .line 162
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 4 /* e */
        start local 4 // java.lang.IllegalAccessException e
         3: .line 163
            new java.lang.IllegalAccessError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to access getter for field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* refc */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 164
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " of type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 163
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            astore 5 /* ee */
        start local 5 // java.lang.IllegalAccessError ee
         6: .line 165
            aload 5 /* ee */
            aload 4 /* e */
            invokevirtual java.lang.IllegalAccessError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         7: .line 166
            aload 5 /* ee */
            athrow
        end local 5 // java.lang.IllegalAccessError ee
        end local 4 // java.lang.IllegalAccessException e
         8: .line 167
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldException
            astore 4 /* e */
        start local 4 // java.lang.NoSuchFieldException e
         9: .line 168
            new java.lang.NoSuchFieldError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to find getter for field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* refc */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 169
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " of type "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 168
            invokespecial java.lang.NoSuchFieldError.<init>:(Ljava/lang/String;)V
            astore 5 /* ee */
        start local 5 // java.lang.NoSuchFieldError ee
        12: .line 170
            aload 5 /* ee */
            aload 4 /* e */
            invokevirtual java.lang.NoSuchFieldError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 171
            aload 5 /* ee */
            athrow
        end local 5 // java.lang.NoSuchFieldError ee
        end local 4 // java.lang.NoSuchFieldException e
        end local 3 // java.lang.Class type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class refc
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljdk/dynalink/linker/support/Lookup;
            0   14     1  refc  Ljava/lang/Class<*>;
            0   14     2  name  Ljava/lang/String;
            0   14     3  type  Ljava/lang/Class<*>;
            3    8     4     e  Ljava/lang/IllegalAccessException;
            6    8     5    ee  Ljava/lang/IllegalAccessError;
            9   14     4     e  Ljava/lang/NoSuchFieldException;
           12   14     5    ee  Ljava/lang/NoSuchFieldError;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       8  Class java.lang.NoSuchFieldException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      refc  final
      name  final
      type  final

  public java.lang.invoke.MethodHandle unreflectSetter(java.lang.reflect.Field);
    descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.reflect.Field f
         0: .line 187
            aload 0 /* this */
            getfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* f */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflectSetter:(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;
         1: areturn
         2: .line 188
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
         3: .line 189
            new java.lang.IllegalAccessError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to unreflect setter for field "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* f */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            astore 3 /* ee */
        start local 3 // java.lang.IllegalAccessError ee
         4: .line 190
            aload 3 /* ee */
            aload 2 /* e */
            invokevirtual java.lang.IllegalAccessError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         5: .line 191
            aload 3 /* ee */
            athrow
        end local 3 // java.lang.IllegalAccessError ee
        end local 2 // java.lang.IllegalAccessException e
        end local 1 // java.lang.reflect.Field f
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/dynalink/linker/support/Lookup;
            0    6     1     f  Ljava/lang/reflect/Field;
            3    6     2     e  Ljava/lang/IllegalAccessException;
            4    6     3    ee  Ljava/lang/IllegalAccessError;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
    MethodParameters:
      Name  Flags
      f     final

  public java.lang.invoke.MethodHandle unreflectConstructor(java.lang.reflect.Constructor<?>);
    descriptor: (Ljava/lang/reflect/Constructor;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.reflect.Constructor c
         0: .line 205
            aload 0 /* this */
            getfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* c */
            invokestatic jdk.dynalink.linker.support.Lookup.unreflectConstructor:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/reflect/Constructor;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 1 // java.lang.reflect.Constructor c
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/dynalink/linker/support/Lookup;
            0    1     1     c  Ljava/lang/reflect/Constructor<*>;
    Signature: (Ljava/lang/reflect/Constructor<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      c     final

  public static java.lang.invoke.MethodHandle unreflectConstructor(java.lang.invoke.MethodHandles$Lookup, java.lang.reflect.Constructor<?>);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/reflect/Constructor;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.invoke.MethodHandles$Lookup lookup
        start local 1 // java.lang.reflect.Constructor c
         0: .line 220
            aload 0 /* lookup */
            aload 1 /* c */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.unreflectConstructor:(Ljava/lang/reflect/Constructor;)Ljava/lang/invoke/MethodHandle;
         1: areturn
         2: .line 221
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
         3: .line 222
            new java.lang.IllegalAccessError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to unreflect constructor "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* c */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            astore 3 /* ee */
        start local 3 // java.lang.IllegalAccessError ee
         4: .line 223
            aload 3 /* ee */
            aload 2 /* e */
            invokevirtual java.lang.IllegalAccessError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         5: .line 224
            aload 3 /* ee */
            athrow
        end local 3 // java.lang.IllegalAccessError ee
        end local 2 // java.lang.IllegalAccessException e
        end local 1 // java.lang.reflect.Constructor c
        end local 0 // java.lang.invoke.MethodHandles$Lookup lookup
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  lookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    6     1       c  Ljava/lang/reflect/Constructor<*>;
            3    6     2       e  Ljava/lang/IllegalAccessException;
            4    6     3      ee  Ljava/lang/IllegalAccessError;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/reflect/Constructor<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      lookup  final
      c       final

  public java.lang.invoke.MethodHandle findSpecial(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.Class declaringClass
        start local 2 // java.lang.String name
        start local 3 // java.lang.invoke.MethodType type
         0: .line 243
            aload 0 /* this */
            getfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* declaringClass */
            aload 2 /* name */
            aload 3 /* type */
            aload 1 /* declaringClass */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findSpecial:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
         1: areturn
         2: .line 244
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 4 /* e */
        start local 4 // java.lang.IllegalAccessException e
         3: .line 245
            new java.lang.IllegalAccessError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to access special method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 246
            aload 1 /* declaringClass */
            aload 2 /* name */
            aload 3 /* type */
         5: .line 245
            invokestatic jdk.dynalink.linker.support.Lookup.methodDescription:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            astore 5 /* ee */
        start local 5 // java.lang.IllegalAccessError ee
         6: .line 247
            aload 5 /* ee */
            aload 4 /* e */
            invokevirtual java.lang.IllegalAccessError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         7: .line 248
            aload 5 /* ee */
            athrow
        end local 5 // java.lang.IllegalAccessError ee
        end local 4 // java.lang.IllegalAccessException e
         8: .line 249
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            astore 4 /* e */
        start local 4 // java.lang.NoSuchMethodException e
         9: .line 250
            new java.lang.NoSuchMethodError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to find special method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 251
            aload 1 /* declaringClass */
            aload 2 /* name */
            aload 3 /* type */
        11: .line 250
            invokestatic jdk.dynalink.linker.support.Lookup.methodDescription:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodError.<init>:(Ljava/lang/String;)V
            astore 5 /* ee */
        start local 5 // java.lang.NoSuchMethodError ee
        12: .line 252
            aload 5 /* ee */
            aload 4 /* e */
            invokevirtual java.lang.NoSuchMethodError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 253
            aload 5 /* ee */
            athrow
        end local 5 // java.lang.NoSuchMethodError ee
        end local 4 // java.lang.NoSuchMethodException e
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class declaringClass
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Ljdk/dynalink/linker/support/Lookup;
            0   14     1  declaringClass  Ljava/lang/Class<*>;
            0   14     2            name  Ljava/lang/String;
            0   14     3            type  Ljava/lang/invoke/MethodType;
            3    8     4               e  Ljava/lang/IllegalAccessException;
            6    8     5              ee  Ljava/lang/IllegalAccessError;
            9   14     4               e  Ljava/lang/NoSuchMethodException;
           12   14     5              ee  Ljava/lang/NoSuchMethodError;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       8  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      declaringClass  final
      name            final
      type            final

  private static java.lang.String methodDescription(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Class declaringClass
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodType type
         0: .line 258
            new java.lang.StringBuilder
            dup
            aload 0 /* declaringClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class declaringClass
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  declaringClass  Ljava/lang/Class<*>;
            0    1     1            name  Ljava/lang/String;
            0    1     2            type  Ljava/lang/invoke/MethodType;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;
    MethodParameters:
                Name  Flags
      declaringClass  final
      name            final
      type            final

  public java.lang.invoke.MethodHandle findStatic(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.Class declaringClass
        start local 2 // java.lang.String name
        start local 3 // java.lang.invoke.MethodType type
         0: .line 276
            aload 0 /* this */
            getfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* declaringClass */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         1: areturn
         2: .line 277
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 4 /* e */
        start local 4 // java.lang.IllegalAccessException e
         3: .line 278
            new java.lang.IllegalAccessError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to access static method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 279
            aload 1 /* declaringClass */
            aload 2 /* name */
            aload 3 /* type */
         5: .line 278
            invokestatic jdk.dynalink.linker.support.Lookup.methodDescription:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            astore 5 /* ee */
        start local 5 // java.lang.IllegalAccessError ee
         6: .line 280
            aload 5 /* ee */
            aload 4 /* e */
            invokevirtual java.lang.IllegalAccessError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         7: .line 281
            aload 5 /* ee */
            athrow
        end local 5 // java.lang.IllegalAccessError ee
        end local 4 // java.lang.IllegalAccessException e
         8: .line 282
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            astore 4 /* e */
        start local 4 // java.lang.NoSuchMethodException e
         9: .line 283
            new java.lang.NoSuchMethodError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to find static method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 284
            aload 1 /* declaringClass */
            aload 2 /* name */
            aload 3 /* type */
        11: .line 283
            invokestatic jdk.dynalink.linker.support.Lookup.methodDescription:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodError.<init>:(Ljava/lang/String;)V
            astore 5 /* ee */
        start local 5 // java.lang.NoSuchMethodError ee
        12: .line 285
            aload 5 /* ee */
            aload 4 /* e */
            invokevirtual java.lang.NoSuchMethodError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 286
            aload 5 /* ee */
            athrow
        end local 5 // java.lang.NoSuchMethodError ee
        end local 4 // java.lang.NoSuchMethodException e
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class declaringClass
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Ljdk/dynalink/linker/support/Lookup;
            0   14     1  declaringClass  Ljava/lang/Class<*>;
            0   14     2            name  Ljava/lang/String;
            0   14     3            type  Ljava/lang/invoke/MethodType;
            3    8     4               e  Ljava/lang/IllegalAccessException;
            6    8     5              ee  Ljava/lang/IllegalAccessError;
            9   14     4               e  Ljava/lang/NoSuchMethodException;
           12   14     5              ee  Ljava/lang/NoSuchMethodError;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       8  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      declaringClass  final
      name            final
      type            final

  public java.lang.invoke.MethodHandle findVirtual(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.Class declaringClass
        start local 2 // java.lang.String name
        start local 3 // java.lang.invoke.MethodType type
         0: .line 305
            aload 0 /* this */
            getfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            aload 1 /* declaringClass */
            aload 2 /* name */
            aload 3 /* type */
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         1: areturn
         2: .line 306
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 4 /* e */
        start local 4 // java.lang.IllegalAccessException e
         3: .line 307
            new java.lang.IllegalAccessError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to access virtual method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 308
            aload 1 /* declaringClass */
            aload 2 /* name */
            aload 3 /* type */
         5: .line 307
            invokestatic jdk.dynalink.linker.support.Lookup.methodDescription:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalAccessError.<init>:(Ljava/lang/String;)V
            astore 5 /* ee */
        start local 5 // java.lang.IllegalAccessError ee
         6: .line 309
            aload 5 /* ee */
            aload 4 /* e */
            invokevirtual java.lang.IllegalAccessError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         7: .line 310
            aload 5 /* ee */
            athrow
        end local 5 // java.lang.IllegalAccessError ee
        end local 4 // java.lang.IllegalAccessException e
         8: .line 311
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            astore 4 /* e */
        start local 4 // java.lang.NoSuchMethodException e
         9: .line 312
            new java.lang.NoSuchMethodError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to find virtual method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 313
            aload 1 /* declaringClass */
            aload 2 /* name */
            aload 3 /* type */
        11: .line 312
            invokestatic jdk.dynalink.linker.support.Lookup.methodDescription:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodError.<init>:(Ljava/lang/String;)V
            astore 5 /* ee */
        start local 5 // java.lang.NoSuchMethodError ee
        12: .line 314
            aload 5 /* ee */
            aload 4 /* e */
            invokevirtual java.lang.NoSuchMethodError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 315
            aload 5 /* ee */
            athrow
        end local 5 // java.lang.NoSuchMethodError ee
        end local 4 // java.lang.NoSuchMethodException e
        end local 3 // java.lang.invoke.MethodType type
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class declaringClass
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Ljdk/dynalink/linker/support/Lookup;
            0   14     1  declaringClass  Ljava/lang/Class<*>;
            0   14     2            name  Ljava/lang/String;
            0   14     3            type  Ljava/lang/invoke/MethodType;
            3    8     4               e  Ljava/lang/IllegalAccessException;
            6    8     5              ee  Ljava/lang/IllegalAccessError;
            9   14     4               e  Ljava/lang/NoSuchMethodException;
           12   14     5              ee  Ljava/lang/NoSuchMethodError;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       8  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
                Name  Flags
      declaringClass  final
      name            final
      type            final

  public static java.lang.invoke.MethodHandle findOwnSpecial(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup lookup
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class rtype
        start local 3 // java.lang.Class[] ptypes
         0: .line 330
            new jdk.dynalink.linker.support.Lookup
            dup
            aload 0 /* lookup */
            invokespecial jdk.dynalink.linker.support.Lookup.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;)V
            aload 1 /* name */
            aload 2 /* rtype */
            aload 3 /* ptypes */
            invokevirtual jdk.dynalink.linker.support.Lookup.findOwnSpecial:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.Class[] ptypes
        end local 2 // java.lang.Class rtype
        end local 1 // java.lang.String name
        end local 0 // java.lang.invoke.MethodHandles$Lookup lookup
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  lookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1    name  Ljava/lang/String;
            0    1     2   rtype  Ljava/lang/Class<*>;
            0    1     3  ptypes  [Ljava/lang/Class;
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      lookup  final
      name    final
      rtype   final
      ptypes  final

  public java.lang.invoke.MethodHandle findOwnSpecial(java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class rtype
        start local 3 // java.lang.Class[] ptypes
         0: .line 346
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            aload 1 /* name */
            aload 2 /* rtype */
            aload 3 /* ptypes */
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual jdk.dynalink.linker.support.Lookup.findSpecial:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.Class[] ptypes
        end local 2 // java.lang.Class rtype
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/dynalink/linker/support/Lookup;
            0    1     1    name  Ljava/lang/String;
            0    1     2   rtype  Ljava/lang/Class<*>;
            0    1     3  ptypes  [Ljava/lang/Class;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      name    final
      rtype   final
      ptypes  final

  public static java.lang.invoke.MethodHandle findOwnStatic(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup lookup
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class rtype
        start local 3 // java.lang.Class[] ptypes
         0: .line 362
            new jdk.dynalink.linker.support.Lookup
            dup
            aload 0 /* lookup */
            invokespecial jdk.dynalink.linker.support.Lookup.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;)V
            aload 1 /* name */
            aload 2 /* rtype */
            aload 3 /* ptypes */
            invokevirtual jdk.dynalink.linker.support.Lookup.findOwnStatic:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.Class[] ptypes
        end local 2 // java.lang.Class rtype
        end local 1 // java.lang.String name
        end local 0 // java.lang.invoke.MethodHandles$Lookup lookup
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  lookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    1     1    name  Ljava/lang/String;
            0    1     2   rtype  Ljava/lang/Class<*>;
            0    1     3  ptypes  [Ljava/lang/Class;
    Signature: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      lookup  final
      name    final
      rtype   final
      ptypes  final

  public java.lang.invoke.MethodHandle findOwnStatic(java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.dynalink.linker.support.Lookup this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class rtype
        start local 3 // java.lang.Class[] ptypes
         0: .line 377
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.dynalink.linker.support.Lookup.lookup:Ljava/lang/invoke/MethodHandles$Lookup;
            invokevirtual java.lang.invoke.MethodHandles$Lookup.lookupClass:()Ljava/lang/Class;
            aload 1 /* name */
            aload 2 /* rtype */
            aload 3 /* ptypes */
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokevirtual jdk.dynalink.linker.support.Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 3 // java.lang.Class[] ptypes
        end local 2 // java.lang.Class rtype
        end local 1 // java.lang.String name
        end local 0 // jdk.dynalink.linker.support.Lookup this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/dynalink/linker/support/Lookup;
            0    1     1    name  Ljava/lang/String;
            0    1     2   rtype  Ljava/lang/Class<*>;
            0    1     3  ptypes  [Ljava/lang/Class;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
        Name  Flags
      name    final
      rtype   final
      ptypes  final
}
SourceFile: "Lookup.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles