public final class jdk.nashorn.internal.runtime.linker.JavaAdapterServices
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.runtime.linker.JavaAdapterServices
  super_class: java.lang.Object
{
  private static final java.lang.ThreadLocal<jdk.nashorn.internal.runtime.ScriptObject> classOverrides;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Ljdk/nashorn/internal/runtime/ScriptObject;>;

  private static final java.lang.invoke.MethodHandle NO_PERMISSIONS_INVOKER;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 67
            ldc Ljdk/nashorn/internal/runtime/linker/JavaAdapterServices;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices.$assertionsDisabled:Z
         3: .line 68
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices.classOverrides:Ljava/lang/ThreadLocal;
         4: .line 69
            invokestatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices.createNoPermissionsInvoker:()Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices.NO_PERMISSIONS_INVOKER:Ljava/lang/invoke/MethodHandle;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.linker.JavaAdapterServices this
         0: .line 71
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 72
            return
        end local 0 // jdk.nashorn.internal.runtime.linker.JavaAdapterServices this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/runtime/linker/JavaAdapterServices;

  public static java.lang.Object getCallThis(jdk.nashorn.internal.runtime.ScriptFunction, java.lang.Object);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptFunction delegate
        start local 1 // java.lang.Object global
         0: .line 82
            aload 0 /* delegate */
            invokevirtual jdk.nashorn.internal.runtime.ScriptFunction.isStrict:()Z
            ifeq 1
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* global */
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 1 // java.lang.Object global
        end local 0 // jdk.nashorn.internal.runtime.ScriptFunction delegate
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  delegate  Ljdk/nashorn/internal/runtime/ScriptFunction;
            0    3     1    global  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      delegate  final
      global    final

  public static void notAnObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 91
            ldc "not.an.object"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* obj */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   final

  public static jdk.nashorn.internal.runtime.ScriptFunction checkFunction(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ScriptFunction;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.Object callee
        start local 1 // java.lang.String name
         0: .line 110
            aload 0 /* callee */
            instanceof jdk.nashorn.internal.runtime.ScriptFunction
            ifeq 2
         1: .line 111
            aload 0 /* callee */
            checkcast jdk.nashorn.internal.runtime.ScriptFunction
            areturn
         2: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* callee */
            invokestatic jdk.nashorn.internal.runtime.JSType.nullOrUndefined:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 113
            aconst_null
            areturn
         4: .line 115
      StackMap locals:
      StackMap stack:
            ldc "not.a.function.value"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 0 /* callee */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.String name
        end local 0 // java.lang.Object callee
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  callee  Ljava/lang/Object;
            0    5     1    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      callee  final
      name    final

  public static jdk.nashorn.internal.runtime.ScriptObject getClassOverrides();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 125
            getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices.classOverrides:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 0 /* overrides */
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject overrides
         1: .line 126
            getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices.$assertionsDisabled:Z
            ifne 2
            aload 0 /* overrides */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 127
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 0 /* overrides */
            areturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject overrides
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1    3     0  overrides  Ljdk/nashorn/internal/runtime/ScriptObject;

  public static void invokeNoPermissions(java.lang.invoke.MethodHandle, java.lang.Object);
    descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.invoke.MethodHandle method
        start local 1 // java.lang.Object arg
         0: .line 139
            getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices.NO_PERMISSIONS_INVOKER:Ljava/lang/invoke/MethodHandle;
            aload 0 /* method */
            aload 1 /* arg */
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljava/lang/invoke/MethodHandle;Ljava/lang/Object;)V
         1: .line 140
            return
        end local 1 // java.lang.Object arg
        end local 0 // java.lang.invoke.MethodHandle method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  method  Ljava/lang/invoke/MethodHandle;
            0    2     1     arg  Ljava/lang/Object;
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
        Name  Flags
      method  final
      arg     final

  public static java.lang.Runnable setGlobal(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Ljava/lang/Runnable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject adapterGlobal
         0: .line 148
            invokestatic jdk.nashorn.internal.runtime.Context.getGlobal:()Ljdk/nashorn/internal/objects/Global;
            astore 1 /* currentGlobal */
        start local 1 // jdk.nashorn.internal.objects.Global currentGlobal
         1: .line 149
            aload 0 /* adapterGlobal */
            aload 1 /* currentGlobal */
            if_acmpeq 4
         2: .line 150
            aload 0 /* adapterGlobal */
            invokestatic jdk.nashorn.internal.runtime.Context.setGlobal:(Ljdk/nashorn/internal/runtime/ScriptObject;)V
         3: .line 151
            aload 1 /* currentGlobal */
            invokedynamic run(Ljdk/nashorn/internal/objects/Global;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  jdk/nashorn/internal/runtime/linker/JavaAdapterServices.lambda$0(Ljdk/nashorn/internal/objects/Global;)V (6)
                  ()V
            areturn
         4: .line 153
      StackMap locals: jdk.nashorn.internal.objects.Global
      StackMap stack:
            invokedynamic run()Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  jdk/nashorn/internal/runtime/linker/JavaAdapterServices.lambda$1()V (6)
                  ()V
            areturn
        end local 1 // jdk.nashorn.internal.objects.Global currentGlobal
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject adapterGlobal
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0  adapterGlobal  Ljdk/nashorn/internal/runtime/ScriptObject;
            1    5     1  currentGlobal  Ljdk/nashorn/internal/objects/Global;
    MethodParameters:
               Name  Flags
      adapterGlobal  final

  public static jdk.nashorn.internal.runtime.ScriptObject getNonNullGlobal();
    descriptor: ()Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 162
            invokestatic jdk.nashorn.internal.runtime.Context.getGlobal:()Ljdk/nashorn/internal/objects/Global;
            ldc "Current global is null"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean hasOwnToString(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject sobj
         0: .line 177
            aload 0 /* sobj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            ldc "toString"
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.findProperty:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/Property;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject sobj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
      Name  Flags
      sobj  final

  public static jdk.nashorn.internal.runtime.ScriptObject unwrapMirror(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object mirror
        start local 1 // boolean getGlobal
         0: .line 188
            getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices.$assertionsDisabled:Z
            ifne 1
            aload 0 /* mirror */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 190
      StackMap locals:
      StackMap stack:
            iload 1 /* getGlobal */
            ifeq 2
            getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices$MirrorFieldHolder.GLOBAL_FIELD:Ljava/lang/reflect/Field;
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices$MirrorFieldHolder.SOBJ_FIELD:Ljava/lang/reflect/Field;
      StackMap locals:
      StackMap stack: java.lang.reflect.Field
         3: astore 2 /* field */
        start local 2 // java.lang.reflect.Field field
         4: .line 191
            aload 2 /* field */
            aload 0 /* mirror */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.ScriptObject
         5: areturn
        end local 2 // java.lang.reflect.Field field
         6: .line 192
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* x */
        start local 2 // java.lang.IllegalAccessException x
         7: .line 193
            new java.lang.RuntimeException
            dup
            aload 2 /* x */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalAccessException x
        end local 1 // boolean getGlobal
        end local 0 // java.lang.Object mirror
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0     mirror  Ljava/lang/Object;
            0    8     1  getGlobal  Z
            4    6     2      field  Ljava/lang/reflect/Field;
            7    8     2          x  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.IllegalAccessException
    MethodParameters:
           Name  Flags
      mirror     final
      getGlobal  final

  public static java.lang.invoke.CallSite bootstrap(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.invoke.MethodType, int);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.invoke.MethodHandles$Lookup lookup
        start local 1 // java.lang.String opDesc
        start local 2 // java.lang.invoke.MethodType type
        start local 3 // int flags
         0: .line 206
            aload 0 /* lookup */
            aload 1 /* opDesc */
            aload 2 /* type */
            iload 3 /* flags */
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.bootstrap:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;
            areturn
        end local 3 // int flags
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.String opDesc
        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  opDesc  Ljava/lang/String;
            0    1     2    type  Ljava/lang/invoke/MethodType;
            0    1     3   flags  I
    MethodParameters:
        Name  Flags
      lookup  final
      opDesc  final
      type    final
      flags   final

  static void setClassOverrides(jdk.nashorn.internal.runtime.ScriptObject);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject overrides
         0: .line 210
            getstatic jdk.nashorn.internal.runtime.linker.JavaAdapterServices.classOverrides:Ljava/lang/ThreadLocal;
            aload 0 /* overrides */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         1: .line 211
            return
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject overrides
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  overrides  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
           Name  Flags
      overrides  final

  private static java.lang.invoke.MethodHandle createNoPermissionsInvoker();
    descriptor: ()Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=7, args_size=0
         0: .line 216
            new jdk.internal.org.objectweb.asm.ClassWriter
            dup
            iconst_3
            invokespecial jdk.internal.org.objectweb.asm.ClassWriter.<init>:(I)V
            astore 0 /* cw */
        start local 0 // jdk.internal.org.objectweb.asm.ClassWriter cw
         1: .line 217
            aload 0 /* cw */
            bipush 51
            bipush 49
            ldc "NoPermissionsInvoker"
            aconst_null
            ldc "java/lang/Object"
            aconst_null
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visit:(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
         2: .line 218
            ldc Ljava/lang/Object;
            invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
            astore 1 /* objectType */
        start local 1 // jdk.internal.org.objectweb.asm.Type objectType
         3: .line 219
            ldc Ljava/lang/invoke/MethodHandle;
            invokestatic jdk.internal.org.objectweb.asm.Type.getType:(Ljava/lang/Class;)Ljdk/internal/org/objectweb/asm/Type;
            astore 2 /* methodHandleType */
        start local 2 // jdk.internal.org.objectweb.asm.Type methodHandleType
         4: .line 220
            new jdk.internal.org.objectweb.asm.commons.InstructionAdapter
            dup
            aload 0 /* cw */
            bipush 9
            ldc "invoke"
         5: .line 221
            getstatic jdk.internal.org.objectweb.asm.Type.VOID_TYPE:Ljdk/internal/org/objectweb/asm/Type;
            iconst_2
            anewarray jdk.internal.org.objectweb.asm.Type
            dup
            iconst_0
            aload 2 /* methodHandleType */
            aastore
            dup
            iconst_1
            aload 1 /* objectType */
            aastore
            invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
            aconst_null
            aconst_null
         6: .line 220
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitMethod:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor;
            invokespecial jdk.internal.org.objectweb.asm.commons.InstructionAdapter.<init>:(Ljdk/internal/org/objectweb/asm/MethodVisitor;)V
            astore 3 /* mv */
        start local 3 // jdk.internal.org.objectweb.asm.commons.InstructionAdapter mv
         7: .line 222
            aload 3 /* mv */
            invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitCode:()V
         8: .line 223
            aload 3 /* mv */
            bipush 25
            iconst_0
            invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
         9: .line 224
            aload 3 /* mv */
            bipush 25
            iconst_1
            invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitVarInsn:(II)V
        10: .line 225
            aload 3 /* mv */
            aload 2 /* methodHandleType */
            invokevirtual jdk.internal.org.objectweb.asm.Type.getInternalName:()Ljava/lang/String;
            ldc "invokeExact"
        11: .line 226
            getstatic jdk.internal.org.objectweb.asm.Type.VOID_TYPE:Ljdk/internal/org/objectweb/asm/Type;
            iconst_1
            anewarray jdk.internal.org.objectweb.asm.Type
            dup
            iconst_0
            aload 1 /* objectType */
            aastore
        12: .line 225
            invokestatic jdk.internal.org.objectweb.asm.Type.getMethodDescriptor:(Ljdk/internal/org/objectweb/asm/Type;[Ljdk/internal/org/objectweb/asm/Type;)Ljava/lang/String;
        13: .line 226
            iconst_0
        14: .line 225
            invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.invokevirtual:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        15: .line 227
            aload 3 /* mv */
            sipush 177
            invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitInsn:(I)V
        16: .line 228
            aload 3 /* mv */
            iconst_0
            iconst_0
            invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitMaxs:(II)V
        17: .line 229
            aload 3 /* mv */
            invokevirtual jdk.internal.org.objectweb.asm.commons.InstructionAdapter.visitEnd:()V
        18: .line 230
            aload 0 /* cw */
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.visitEnd:()V
        19: .line 231
            aload 0 /* cw */
            invokevirtual jdk.internal.org.objectweb.asm.ClassWriter.toByteArray:()[B
            astore 4 /* bytes */
        start local 4 // byte[] bytes
        20: .line 233
            new jdk.nashorn.internal.runtime.linker.JavaAdapterServices$1
            dup
            aload 4 /* bytes */
            invokespecial jdk.nashorn.internal.runtime.linker.JavaAdapterServices$1.<init>:([B)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            astore 5 /* loader */
        start local 5 // java.lang.ClassLoader loader
        21: .line 250
            invokestatic java.lang.invoke.MethodHandles.publicLookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc "NoPermissionsInvoker"
            iconst_1
            aload 5 /* loader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            ldc "invoke"
        22: .line 251
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            ldc Ljava/lang/invoke/MethodHandle;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
        23: .line 250
            invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
        24: areturn
        25: .line 252
      StackMap locals: jdk.internal.org.objectweb.asm.ClassWriter jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.Type jdk.internal.org.objectweb.asm.commons.InstructionAdapter byte[] java.lang.ClassLoader
      StackMap stack: java.lang.ReflectiveOperationException
            astore 6 /* e */
        start local 6 // java.lang.ReflectiveOperationException e
        26: .line 253
            new java.lang.AssertionError
            dup
            aload 6 /* e */
            invokevirtual java.lang.ReflectiveOperationException.getMessage:()Ljava/lang/String;
            aload 6 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.ReflectiveOperationException e
        end local 5 // java.lang.ClassLoader loader
        end local 4 // byte[] bytes
        end local 3 // jdk.internal.org.objectweb.asm.commons.InstructionAdapter mv
        end local 2 // jdk.internal.org.objectweb.asm.Type methodHandleType
        end local 1 // jdk.internal.org.objectweb.asm.Type objectType
        end local 0 // jdk.internal.org.objectweb.asm.ClassWriter cw
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            1   27     0                cw  Ljdk/internal/org/objectweb/asm/ClassWriter;
            3   27     1        objectType  Ljdk/internal/org/objectweb/asm/Type;
            4   27     2  methodHandleType  Ljdk/internal/org/objectweb/asm/Type;
            7   27     3                mv  Ljdk/internal/org/objectweb/asm/commons/InstructionAdapter;
           20   27     4             bytes  [B
           21   27     5            loader  Ljava/lang/ClassLoader;
           26   27     6                 e  Ljava/lang/ReflectiveOperationException;
      Exception table:
        from    to  target  type
          21    24      25  Class java.lang.ReflectiveOperationException

  public static java.lang.Object exportReturnValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 264
            aload 0 /* obj */
            iconst_1
            invokestatic jdk.nashorn.internal.runtime.linker.NashornBeansLinker.exportArgument:(Ljava/lang/Object;Z)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   final

  public static char toCharPrimitive(java.lang.Object);
    descriptor: (Ljava/lang/Object;)C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 274
            aload 0 /* obj */
            invokestatic jdk.nashorn.internal.runtime.linker.JavaArgumentConverters.toCharPrimitive:(Ljava/lang/Object;)C
            ireturn
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   final

  public static java.lang.RuntimeException wrapThrowable(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 285
            new java.lang.RuntimeException
            dup
            aload 0 /* t */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            areturn
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     final

  public static java.lang.UnsupportedOperationException unsupported();
    descriptor: ()Ljava/lang/UnsupportedOperationException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 295
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.lang.invoke.CallSite createArrayBootstrap(java.lang.invoke.MethodHandles$Lookup, java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.invoke.MethodHandles$Lookup lookup
        start local 1 // java.lang.String name
        start local 2 // java.lang.invoke.MethodType type
         0: .line 308
            new java.lang.invoke.ConstantCallSite
            dup
         1: .line 309
            ldc [Ljava/lang/Object;
            invokestatic java.lang.invoke.MethodHandles.identity:(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
         2: .line 310
            ldc [Ljava/lang/Object;
            aload 2 /* type */
            invokevirtual java.lang.invoke.MethodType.parameterCount:()I
            invokevirtual java.lang.invoke.MethodHandle.asCollector:(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;
         3: .line 311
            aload 2 /* type */
            invokevirtual java.lang.invoke.MethodHandle.asType:(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
         4: .line 308
            invokespecial java.lang.invoke.ConstantCallSite.<init>:(Ljava/lang/invoke/MethodHandle;)V
            areturn
        end local 2 // java.lang.invoke.MethodType type
        end local 1 // java.lang.String name
        end local 0 // java.lang.invoke.MethodHandles$Lookup lookup
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  lookup  Ljava/lang/invoke/MethodHandles$Lookup;
            0    5     1    name  Ljava/lang/String;
            0    5     2    type  Ljava/lang/invoke/MethodType;
    MethodParameters:
        Name  Flags
      lookup  final
      name    final
      type    final

  private static void lambda$0(jdk.nashorn.internal.objects.Global);
    descriptor: (Ljdk/nashorn/internal/objects/Global;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 151
            aload 0
            invokestatic jdk.nashorn.internal.runtime.Context.setGlobal:(Ljdk/nashorn/internal/objects/Global;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$1();
    descriptor: ()V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 153
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JavaAdapterServices.java"
NestMembers:
  jdk.nashorn.internal.runtime.linker.JavaAdapterServices$1  jdk.nashorn.internal.runtime.linker.JavaAdapterServices$1$1  jdk.nashorn.internal.runtime.linker.JavaAdapterServices$MirrorFieldHolder
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  jdk.nashorn.internal.runtime.linker.JavaAdapterServices$1
  private MirrorFieldHolder = jdk.nashorn.internal.runtime.linker.JavaAdapterServices$MirrorFieldHolder of jdk.nashorn.internal.runtime.linker.JavaAdapterServices