public final class jdk.nashorn.internal.objects.NativeObject
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.objects.NativeObject
  super_class: java.lang.Object
{
  public static final java.lang.invoke.MethodHandle GET__PROTO__;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.invoke.MethodHandle SET__PROTO__;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  private static final jdk.dynalink.Operation GET_METHOD;
    descriptor: Ljdk/dynalink/Operation;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.dynalink.Operation GET_PROPERTY;
    descriptor: Ljdk/dynalink/Operation;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.dynalink.Operation SET_PROPERTY;
    descriptor: Ljdk/dynalink/Operation;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  private static jdk.nashorn.internal.runtime.PropertyMap $nasgenmap$;
    descriptor: Ljdk/nashorn/internal/runtime/PropertyMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static volatile int[] $SWITCH_TABLE$jdk$nashorn$internal$runtime$JSType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  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=6, locals=0, args_size=0
         0: .line 84
            ldc Ljdk/nashorn/internal/objects/NativeObject;
            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.objects.NativeObject.$assertionsDisabled:Z
         3: .line 86
            ldc "get__proto__"
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.objects.NativeObject.findOwnMH:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.objects.NativeObject.GET__PROTO__:Ljava/lang/invoke/MethodHandle;
         4: .line 89
            ldc "set__proto__"
            ldc Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.objects.NativeObject.findOwnMH:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.objects.NativeObject.SET__PROTO__:Ljava/lang/invoke/MethodHandle;
         5: .line 91
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic jdk.nashorn.internal.objects.NativeObject.TO_STRING:Ljava/lang/Object;
         6: .line 103
            getstatic jdk.dynalink.StandardOperation.GET:Ljdk/dynalink/StandardOperation;
            getstatic jdk.dynalink.StandardNamespace.METHOD:Ljdk/dynalink/StandardNamespace;
            invokevirtual jdk.dynalink.StandardOperation.withNamespace:(Ljdk/dynalink/Namespace;)Ljdk/dynalink/NamespaceOperation;
            putstatic jdk.nashorn.internal.objects.NativeObject.GET_METHOD:Ljdk/dynalink/Operation;
         7: .line 104
            getstatic jdk.dynalink.StandardOperation.GET:Ljdk/dynalink/StandardOperation;
            getstatic jdk.dynalink.StandardNamespace.PROPERTY:Ljdk/dynalink/StandardNamespace;
            invokevirtual jdk.dynalink.StandardOperation.withNamespace:(Ljdk/dynalink/Namespace;)Ljdk/dynalink/NamespaceOperation;
            putstatic jdk.nashorn.internal.objects.NativeObject.GET_PROPERTY:Ljdk/dynalink/Operation;
         8: .line 105
            getstatic jdk.dynalink.StandardOperation.SET:Ljdk/dynalink/StandardOperation;
            getstatic jdk.dynalink.StandardNamespace.PROPERTY:Ljdk/dynalink/StandardNamespace;
            invokevirtual jdk.dynalink.StandardOperation.withNamespace:(Ljdk/dynalink/Namespace;)Ljdk/dynalink/NamespaceOperation;
            putstatic jdk.nashorn.internal.objects.NativeObject.SET_PROPERTY:Ljdk/dynalink/Operation;
         9: .line 134
            ldc Ljava/lang/Object;
            ldc Ljdk/nashorn/api/scripting/ScriptObjectMirror;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            putstatic jdk.nashorn.internal.objects.NativeObject.MIRROR_GETTER_TYPE:Ljava/lang/invoke/MethodType;
        10: .line 135
            ldc Ljava/lang/Object;
            ldc Ljdk/nashorn/api/scripting/ScriptObjectMirror;
            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;
            putstatic jdk.nashorn.internal.objects.NativeObject.MIRROR_SETTER_TYPE:Ljava/lang/invoke/MethodType;
        11: .line 139
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static jdk.nashorn.internal.runtime.linker.InvokeByName getTO_STRING();
    descriptor: ()Ljdk/nashorn/internal/runtime/linker/InvokeByName;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 94
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            getstatic jdk.nashorn.internal.objects.NativeObject.TO_STRING:Ljava/lang/Object;
         1: .line 95
            new jdk.nashorn.internal.objects.NativeObject$1
            dup
            invokespecial jdk.nashorn.internal.objects.NativeObject$1.<init>:()V
         2: .line 94
            invokevirtual jdk.nashorn.internal.objects.Global.getInvokeByName:(Ljava/lang/Object;Ljava/util/concurrent/Callable;)Ljdk/nashorn/internal/runtime/linker/InvokeByName;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static jdk.nashorn.internal.runtime.ScriptObject get__proto__(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object self
         0: .line 111
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic jdk.nashorn.internal.objects.Global.checkObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 1 /* sobj */
        start local 1 // jdk.nashorn.internal.runtime.ScriptObject sobj
         1: .line 112
            aload 1 /* sobj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
        end local 1 // jdk.nashorn.internal.runtime.ScriptObject sobj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  self  Ljava/lang/Object;
            1    2     1  sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
      Name  Flags
      self  final

  private static java.lang.Object set__proto__(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object proto
         0: .line 119
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.checkObjectCoercible:(Ljava/lang/Object;)V
         1: .line 121
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifne 3
         2: .line 122
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            areturn
         3: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 2 /* sobj */
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject sobj
         4: .line 128
            aload 1 /* proto */
            ifnull 5
            aload 1 /* proto */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 6
         5: .line 129
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 2 /* sobj */
            aload 1 /* proto */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setPrototypeOf:(Ljava/lang/Object;)V
         6: .line 131
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            areturn
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject sobj
        end local 1 // java.lang.Object proto
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   self  Ljava/lang/Object;
            0    7     1  proto  Ljava/lang/Object;
            4    7     2   sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
    MethodParameters:
       Name  Flags
      self   final
      proto  final

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeObject this
         0: .line 141
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 143
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // jdk.nashorn.internal.objects.NativeObject this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/objects/NativeObject;

  private static jdk.nashorn.internal.runtime.ECMAException notAnObject(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 147
            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;
            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 jdk.nashorn.internal.runtime.ScriptObject setIndexedPropertiesToExternalArrayData(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object buf
         0: .line 160
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.Global.checkObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
            pop
         1: .line 161
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 3 /* sobj */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject sobj
         2: .line 162
            aload 2 /* buf */
            instanceof java.nio.ByteBuffer
            ifeq 5
         3: .line 163
            aload 3 /* sobj */
            aload 2 /* buf */
            checkcast java.nio.ByteBuffer
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayData.allocate:(Ljava/nio/ByteBuffer;)Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setArray:(Ljdk/nashorn/internal/runtime/arrays/ArrayData;)V
         4: .line 164
            goto 6
         5: .line 165
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            ldc "not.a.bytebuffer"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "setIndexedPropertiesToExternalArrayData's buf argument"
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
         6: .line 167
      StackMap locals:
      StackMap stack:
            aload 3 /* sobj */
            areturn
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject sobj
        end local 2 // java.lang.Object buf
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  self  Ljava/lang/Object;
            0    7     1   obj  Ljava/lang/Object;
            0    7     2   buf  Ljava/lang/Object;
            2    7     3  sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final
      buf   final

  public static java.lang.Object getPrototypeOf(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
         0: .line 180
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
         1: .line 181
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
         2: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 4
         3: .line 183
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.getProto:()Ljava/lang/Object;
            areturn
         4: .line 185
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.runtime.JSType.of:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/JSType;
            astore 2 /* type */
        start local 2 // jdk.nashorn.internal.runtime.JSType type
         5: .line 186
            aload 2 /* type */
            getstatic jdk.nashorn.internal.runtime.JSType.OBJECT:Ljdk/nashorn/internal/runtime/JSType;
            if_acmpne 7
         6: .line 188
            aconst_null
            areturn
         7: .line 192
      StackMap locals: jdk.nashorn.internal.runtime.JSType
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 2 // jdk.nashorn.internal.runtime.JSType type
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  self  Ljava/lang/Object;
            0    8     1   obj  Ljava/lang/Object;
            5    8     2  type  Ljdk/nashorn/internal/runtime/JSType;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final

  public static java.lang.Object setPrototypeOf(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object proto
         0: .line 207
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 3
         1: .line 208
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            aload 2 /* proto */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setPrototypeOf:(Ljava/lang/Object;)V
         2: .line 209
            aload 1 /* obj */
            areturn
         3: .line 210
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 6
         4: .line 211
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            aload 2 /* proto */
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.setProto:(Ljava/lang/Object;)V
         5: .line 212
            aload 1 /* obj */
            areturn
         6: .line 215
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 2 // java.lang.Object proto
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   self  Ljava/lang/Object;
            0    7     1    obj  Ljava/lang/Object;
            0    7     2  proto  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
       Name  Flags
      self   final
      obj    final
      proto  final

  public static java.lang.Object getOwnPropertyDescriptor(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object prop
         0: .line 228
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 4
         1: .line 229
            aload 2 /* prop */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
         2: .line 230
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 4 /* sobj */
        start local 4 // jdk.nashorn.internal.runtime.ScriptObject sobj
         3: .line 232
            aload 4 /* sobj */
            aload 3 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnPropertyDescriptor:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // jdk.nashorn.internal.runtime.ScriptObject sobj
        end local 3 // java.lang.String key
         4: .line 233
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 8
         5: .line 234
            aload 2 /* prop */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
         6: .line 235
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            astore 4 /* sobjMirror */
        start local 4 // jdk.nashorn.api.scripting.ScriptObjectMirror sobjMirror
         7: .line 237
            aload 4 /* sobjMirror */
            aload 3 /* key */
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.getOwnPropertyDescriptor:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 4 // jdk.nashorn.api.scripting.ScriptObjectMirror sobjMirror
        end local 3 // java.lang.String key
         8: .line 239
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 2 // java.lang.Object prop
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        self  Ljava/lang/Object;
            0    9     1         obj  Ljava/lang/Object;
            0    9     2        prop  Ljava/lang/Object;
            2    4     3         key  Ljava/lang/String;
            3    4     4        sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
            6    8     3         key  Ljava/lang/String;
            7    8     4  sobjMirror  Ljdk/nashorn/api/scripting/ScriptObjectMirror;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final
      prop  final

  public static jdk.nashorn.internal.runtime.ScriptObject getOwnPropertyNames(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
         0: .line 252
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
         1: .line 253
            new jdk.nashorn.internal.objects.NativeArray
            dup
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys:(Z)[Ljava/lang/String;
            invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
            areturn
         2: .line 254
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 4
         3: .line 255
            new jdk.nashorn.internal.objects.NativeArray
            dup
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            iconst_1
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.getOwnKeys:(Z)[Ljava/lang/String;
            invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
            areturn
         4: .line 257
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  self  Ljava/lang/Object;
            0    5     1   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final

  public static jdk.nashorn.internal.runtime.ScriptObject getOwnPropertySymbols(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
         0: .line 270
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
         1: .line 271
            new jdk.nashorn.internal.objects.NativeArray
            dup
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnSymbols:(Z)[Ljdk/nashorn/internal/runtime/Symbol;
            invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
            areturn
         2: .line 274
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  self  Ljava/lang/Object;
            0    3     1   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final

  public static jdk.nashorn.internal.runtime.ScriptObject create(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object proto
        start local 2 // java.lang.Object props
         0: .line 288
            aload 1 /* proto */
            ifnull 2
         1: .line 289
            aload 1 /* proto */
            invokestatic jdk.nashorn.internal.objects.Global.checkObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
            pop
         2: .line 294
      StackMap locals:
      StackMap stack:
            invokestatic jdk.nashorn.internal.objects.Global.newEmptyInstance:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 3 /* newObj */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject newObj
         3: .line 295
            aload 3 /* newObj */
            aload 1 /* proto */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.setProto:(Ljdk/nashorn/internal/runtime/ScriptObject;)V
         4: .line 296
            aload 2 /* props */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpeq 6
         5: .line 297
            aload 0 /* self */
            aload 3 /* newObj */
            aload 2 /* props */
            invokestatic jdk.nashorn.internal.objects.NativeObject.defineProperties:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
            pop
         6: .line 300
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 3 /* newObj */
            areturn
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject newObj
        end local 2 // java.lang.Object props
        end local 1 // java.lang.Object proto
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    self  Ljava/lang/Object;
            0    7     1   proto  Ljava/lang/Object;
            0    7     2   props  Ljava/lang/Object;
            3    7     3  newObj  Ljdk/nashorn/internal/runtime/ScriptObject;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
       Name  Flags
      self   final
      proto  final
      props  final

  public static jdk.nashorn.internal.runtime.ScriptObject defineProperty(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object prop
        start local 3 // java.lang.Object attr
         0: .line 314
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.Global.checkObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 4 /* sobj */
        start local 4 // jdk.nashorn.internal.runtime.ScriptObject sobj
         1: .line 315
            aload 4 /* sobj */
            aload 2 /* prop */
            invokestatic jdk.nashorn.internal.runtime.JSType.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 3 /* attr */
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.defineOwnProperty:(Ljava/lang/Object;Ljava/lang/Object;Z)Z
            pop
         2: .line 316
            aload 4 /* sobj */
            areturn
        end local 4 // jdk.nashorn.internal.runtime.ScriptObject sobj
        end local 3 // java.lang.Object attr
        end local 2 // java.lang.Object prop
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  self  Ljava/lang/Object;
            0    3     1   obj  Ljava/lang/Object;
            0    3     2  prop  Ljava/lang/Object;
            0    3     3  attr  Ljava/lang/Object;
            1    3     4  sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final
      prop  final
      attr  final

  public static jdk.nashorn.internal.runtime.ScriptObject defineProperties(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object props
         0: .line 329
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.Global.checkObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 3 /* sobj */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject sobj
         1: .line 330
            aload 2 /* props */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* propsObj */
        start local 4 // java.lang.Object propsObj
         2: .line 332
            aload 4 /* propsObj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 10
         3: .line 333
            aload 4 /* propsObj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys:(Z)[Ljava/lang/String;
            astore 5 /* keys */
        start local 5 // java.lang.Object[] keys
         4: .line 334
            aload 5 /* keys */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 9
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.lang.Object[] top int int java.lang.Object[]
      StackMap stack:
         5: aload 9
            iload 7
            aaload
            astore 6 /* key */
        start local 6 // java.lang.Object key
         6: .line 335
            aload 6 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 10 /* prop */
        start local 10 // java.lang.String prop
         7: .line 336
            aload 3 /* sobj */
            aload 10 /* prop */
            aload 4 /* propsObj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            aload 10 /* prop */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
            iconst_1
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.defineOwnProperty:(Ljava/lang/Object;Ljava/lang/Object;Z)Z
            pop
        end local 10 // java.lang.String prop
        end local 6 // java.lang.Object key
         8: .line 334
            iinc 7 1
      StackMap locals:
      StackMap stack:
         9: iload 7
            iload 8
            if_icmplt 5
        end local 5 // java.lang.Object[] keys
        10: .line 339
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object jdk.nashorn.internal.runtime.ScriptObject java.lang.Object
      StackMap stack:
            aload 3 /* sobj */
            areturn
        end local 4 // java.lang.Object propsObj
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject sobj
        end local 2 // java.lang.Object props
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      self  Ljava/lang/Object;
            0   11     1       obj  Ljava/lang/Object;
            0   11     2     props  Ljava/lang/Object;
            1   11     3      sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
            2   11     4  propsObj  Ljava/lang/Object;
            4   10     5      keys  [Ljava/lang/Object;
            6    8     6       key  Ljava/lang/Object;
            7    8    10      prop  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
       Name  Flags
      self   final
      obj    final
      props  final

  public static java.lang.Object seal(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
         0: .line 351
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
         1: .line 352
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.seal:()Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
         2: .line 353
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 4
         3: .line 354
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.seal:()Ljdk/nashorn/api/scripting/ScriptObjectMirror;
            areturn
         4: .line 356
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  self  Ljava/lang/Object;
            0    5     1   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final

  public static java.lang.Object freeze(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
         0: .line 370
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
         1: .line 371
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.freeze:()Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
         2: .line 372
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 4
         3: .line 373
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.freeze:()Ljdk/nashorn/api/scripting/ScriptObjectMirror;
            areturn
         4: .line 375
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  self  Ljava/lang/Object;
            0    5     1   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final

  public static java.lang.Object preventExtensions(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
         0: .line 388
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
         1: .line 389
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.preventExtensions:()Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
         2: .line 390
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 4
         3: .line 391
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.preventExtensions:()Ljdk/nashorn/api/scripting/ScriptObjectMirror;
            areturn
         4: .line 393
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  self  Ljava/lang/Object;
            0    5     1   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final

  public static boolean isSealed(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
         0: .line 406
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
         1: .line 407
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isSealed:()Z
            ireturn
         2: .line 408
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 4
         3: .line 409
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.isSealed:()Z
            ireturn
         4: .line 411
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  self  Ljava/lang/Object;
            0    5     1   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final

  public static boolean isFrozen(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
         0: .line 424
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
         1: .line 425
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isFrozen:()Z
            ireturn
         2: .line 426
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 4
         3: .line 427
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.isFrozen:()Z
            ireturn
         4: .line 429
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  self  Ljava/lang/Object;
            0    5     1   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final

  public static boolean isExtensible(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
         0: .line 442
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 2
         1: .line 443
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.isExtensible:()Z
            ireturn
         2: .line 444
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 4
         3: .line 445
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.isExtensible:()Z
            ireturn
         4: .line 447
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  self  Ljava/lang/Object;
            0    5     1   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final

  public static jdk.nashorn.internal.runtime.ScriptObject keys(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object obj
         0: .line 460
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 3
         1: .line 461
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 2 /* sobj */
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject sobj
         2: .line 462
            new jdk.nashorn.internal.objects.NativeArray
            dup
            aload 2 /* sobj */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys:(Z)[Ljava/lang/String;
            invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
            areturn
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject sobj
         3: .line 463
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 6
         4: .line 464
            aload 1 /* obj */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            astore 2 /* sobjMirror */
        start local 2 // jdk.nashorn.api.scripting.ScriptObjectMirror sobjMirror
         5: .line 465
            new jdk.nashorn.internal.objects.NativeArray
            dup
            aload 2 /* sobjMirror */
            iconst_0
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.getOwnKeys:(Z)[Ljava/lang/String;
            invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
            areturn
        end local 2 // jdk.nashorn.api.scripting.ScriptObjectMirror sobjMirror
         6: .line 467
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokestatic jdk.nashorn.internal.objects.NativeObject.notAnObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        self  Ljava/lang/Object;
            0    7     1         obj  Ljava/lang/Object;
            2    3     2        sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
            5    6     2  sobjMirror  Ljdk/nashorn/api/scripting/ScriptObjectMirror;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      obj   final

  public static java.lang.Object construct(boolean, java.lang.Object, java.lang.Object);
    descriptor: (ZLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // boolean newObj
        start local 1 // java.lang.Object self
        start local 2 // java.lang.Object value
         0: .line 483
            aload 2 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.ofNoFunction:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/JSType;
            astore 3 /* type */
        start local 3 // jdk.nashorn.internal.runtime.JSType type
         1: .line 487
            iload 0 /* newObj */
            ifne 2
            aload 3 /* type */
            getstatic jdk.nashorn.internal.runtime.JSType.NULL:Ljdk/nashorn/internal/runtime/JSType;
            if_acmpeq 2
            aload 3 /* type */
            getstatic jdk.nashorn.internal.runtime.JSType.UNDEFINED:Ljdk/nashorn/internal/runtime/JSType;
            if_acmpne 6
         2: .line 488
      StackMap locals: jdk.nashorn.internal.runtime.JSType
      StackMap stack:
            invokestatic jdk.nashorn.internal.objects.NativeObject.$SWITCH_TABLE$jdk$nashorn$internal$runtime$JSType:()[I
            aload 3 /* type */
            invokevirtual jdk.nashorn.internal.runtime.JSType.ordinal:()I
            iaload
            tableswitch { // 1 - 8
                    1: 5
                    2: 5
                    3: 3
                    4: 3
                    5: 3
                    6: 4
                    7: 5
                    8: 3
              default: 5
          }
         3: .line 493
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         4: .line 495
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
         5: .line 503
      StackMap locals:
      StackMap stack:
            invokestatic jdk.nashorn.internal.objects.Global.newEmptyInstance:()Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
         6: .line 506
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // jdk.nashorn.internal.runtime.JSType type
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object self
        end local 0 // boolean newObj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  newObj  Z
            0    7     1    self  Ljava/lang/Object;
            0    7     2   value  Ljava/lang/Object;
            1    7     3    type  Ljdk/nashorn/internal/runtime/JSType;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Constructor()
    MethodParameters:
        Name  Flags
      newObj  final
      self    final
      value   final

  public static java.lang.String toString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 517
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.builtinObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  self  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final

  public static java.lang.Object toLocaleString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.Object self
         0: .line 528
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.JSType.toScriptObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* obj */
        start local 1 // java.lang.Object obj
         1: .line 529
            aload 1 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 13
         2: .line 530
            invokestatic jdk.nashorn.internal.objects.NativeObject.getTO_STRING:()Ljdk/nashorn/internal/runtime/linker/InvokeByName;
            astore 2 /* toStringInvoker */
        start local 2 // jdk.nashorn.internal.runtime.linker.InvokeByName toStringInvoker
         3: .line 531
            aload 1 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 3 /* sobj */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject sobj
         4: .line 533
            aload 2 /* toStringInvoker */
            invokevirtual jdk.nashorn.internal.runtime.linker.InvokeByName.getGetter:()Ljava/lang/invoke/MethodHandle;
            aload 3 /* sobj */
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljava/lang/Object;
            astore 4 /* toString */
        start local 4 // java.lang.Object toString
         5: .line 535
            aload 4 /* toString */
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.isCallable:(Ljava/lang/Object;)Z
            ifeq 12
         6: .line 536
            aload 2 /* toStringInvoker */
            invokevirtual jdk.nashorn.internal.runtime.linker.InvokeByName.getInvoker:()Ljava/lang/invoke/MethodHandle;
            aload 4 /* toString */
            aload 3 /* sobj */
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:(Ljava/lang/Object;Ljdk/nashorn/internal/runtime/ScriptObject;)Ljava/lang/Object;
         7: areturn
        end local 4 // java.lang.Object toString
         8: .line 538
      StackMap locals: java.lang.Object java.lang.Object jdk.nashorn.internal.runtime.linker.InvokeByName jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack: java.lang.Throwable
            astore 4 /* e */
        start local 4 // java.lang.Throwable e
         9: .line 539
            aload 4 /* e */
            athrow
        end local 4 // java.lang.Throwable e
        10: .line 540
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* t */
        start local 4 // java.lang.Throwable t
        11: .line 541
            new java.lang.RuntimeException
            dup
            aload 4 /* t */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Throwable t
        12: .line 544
      StackMap locals:
      StackMap stack:
            ldc "not.a.function"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "toString"
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject sobj
        end local 2 // jdk.nashorn.internal.runtime.linker.InvokeByName toStringInvoker
        13: .line 547
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.builtinObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             self  Ljava/lang/Object;
            1   14     1              obj  Ljava/lang/Object;
            3   13     2  toStringInvoker  Ljdk/nashorn/internal/runtime/linker/InvokeByName;
            4   13     3             sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
            5    8     4         toString  Ljava/lang/Object;
            9   10     4                e  Ljava/lang/Throwable;
           11   12     4                t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     7       8  Class java.lang.RuntimeException
           4     7       8  Class java.lang.Error
           4     7      10  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final

  public static java.lang.Object valueOf(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 558
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  self  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final

  public static boolean hasOwnProperty(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object v
         0: .line 572
            aload 1 /* v */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 2 /* key */
        start local 2 // java.lang.Object key
         1: .line 573
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         2: .line 575
            aload 3 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 3
            aload 3 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            aload 2 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.hasOwnProperty:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
         3: iconst_0
            ireturn
        end local 3 // java.lang.Object obj
        end local 2 // java.lang.Object key
        end local 1 // java.lang.Object v
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  self  Ljava/lang/Object;
            0    4     1     v  Ljava/lang/Object;
            1    4     2   key  Ljava/lang/Object;
            2    4     3   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final
      v     final

  public static boolean isPrototypeOf(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object v
         0: .line 587
            aload 1 /* v */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifne 2
         1: .line 588
            iconst_0
            ireturn
         2: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         3: .line 592
            aload 1 /* v */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 3 /* proto */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject proto
         4: .line 595
      StackMap locals: java.lang.Object jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
            aload 3 /* proto */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProto:()Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 3 /* proto */
         5: .line 596
            aload 3 /* proto */
            aload 2 /* obj */
            if_acmpne 7
         6: .line 597
            iconst_1
            ireturn
         7: .line 599
      StackMap locals:
      StackMap stack:
            aload 3 /* proto */
            ifnonnull 4
         8: .line 601
            iconst_0
            ireturn
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject proto
        end local 2 // java.lang.Object obj
        end local 1 // java.lang.Object v
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   self  Ljava/lang/Object;
            0    9     1      v  Ljava/lang/Object;
            3    9     2    obj  Ljava/lang/Object;
            4    9     3  proto  Ljdk/nashorn/internal/runtime/ScriptObject;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final
      v     final

  public static boolean propertyIsEnumerable(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object v
         0: .line 613
            aload 1 /* v */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 614
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         2: .line 616
            aload 3 /* obj */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 8
         3: .line 617
            aload 3 /* obj */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 4 /* sobj */
        start local 4 // jdk.nashorn.internal.runtime.ScriptObject sobj
         4: .line 618
            aload 4 /* sobj */
            aload 2 /* str */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getProperty:(Ljava/lang/String;)Ljdk/nashorn/internal/runtime/Property;
            astore 5 /* property */
        start local 5 // jdk.nashorn.internal.runtime.Property property
         5: .line 619
            aload 5 /* property */
            ifnull 7
         6: .line 620
            aload 5 /* property */
            invokevirtual jdk.nashorn.internal.runtime.Property.isEnumerable:()Z
            ireturn
         7: .line 622
      StackMap locals: java.lang.Object java.lang.Object java.lang.String java.lang.Object jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.Property
      StackMap stack:
            aload 4 /* sobj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getArray:()Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            aload 1 /* v */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            invokevirtual jdk.nashorn.internal.runtime.arrays.ArrayData.has:(I)Z
            ireturn
        end local 5 // jdk.nashorn.internal.runtime.Property property
        end local 4 // jdk.nashorn.internal.runtime.ScriptObject sobj
         8: .line 626
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.Object obj
        end local 2 // java.lang.String str
        end local 1 // java.lang.Object v
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      self  Ljava/lang/Object;
            0    9     1         v  Ljava/lang/Object;
            1    9     2       str  Ljava/lang/String;
            2    9     3       obj  Ljava/lang/Object;
            4    8     4      sobj  Ljdk/nashorn/internal/runtime/ScriptObject;
            5    8     5  property  Ljdk/nashorn/internal/runtime/Property;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final
      v     final

  public static java.lang.Object bindProperties(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object target
        start local 2 // java.lang.Object source
         0: .line 694
            aload 1 /* target */
            invokestatic jdk.nashorn.internal.objects.Global.checkObject:(Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptObject;
            astore 3 /* targetObj */
        start local 3 // jdk.nashorn.internal.runtime.ScriptObject targetObj
         1: .line 696
            aload 2 /* source */
            invokestatic jdk.nashorn.internal.objects.Global.checkObjectCoercible:(Ljava/lang/Object;)V
         2: .line 698
            aload 2 /* source */
            instanceof jdk.nashorn.internal.runtime.ScriptObject
            ifeq 19
         3: .line 699
            aload 2 /* source */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            astore 4 /* sourceObj */
        start local 4 // jdk.nashorn.internal.runtime.ScriptObject sourceObj
         4: .line 701
            aload 4 /* sourceObj */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 5 /* sourceMap */
        start local 5 // jdk.nashorn.internal.runtime.PropertyMap sourceMap
         5: .line 702
            aload 5 /* sourceMap */
            invokevirtual jdk.nashorn.internal.runtime.PropertyMap.getProperties:()[Ljdk/nashorn/internal/runtime/Property;
            astore 6 /* properties */
        start local 6 // jdk.nashorn.internal.runtime.Property[] properties
         6: .line 706
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* propList */
        start local 7 // java.util.ArrayList propList
         7: .line 707
            aload 6 /* properties */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 15
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.PropertyMap jdk.nashorn.internal.runtime.Property[] java.util.ArrayList top int int jdk.nashorn.internal.runtime.Property[]
      StackMap stack:
         8: aload 11
            iload 9
            aaload
            astore 8 /* prop */
        start local 8 // jdk.nashorn.internal.runtime.Property prop
         9: .line 708
            aload 8 /* prop */
            invokevirtual jdk.nashorn.internal.runtime.Property.isEnumerable:()Z
            ifeq 14
        10: .line 709
            aload 4 /* sourceObj */
            aload 8 /* prop */
            invokevirtual jdk.nashorn.internal.runtime.Property.getKey:()Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 12 /* value */
        start local 12 // java.lang.Object value
        11: .line 710
            aload 8 /* prop */
            ldc Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.runtime.Property.setType:(Ljava/lang/Class;)V
        12: .line 711
            aload 8 /* prop */
            aload 4 /* sourceObj */
            aload 4 /* sourceObj */
            aload 12 /* value */
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.Property.setValue:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Object;Z)V
        13: .line 712
            aload 7 /* propList */
            aload 8 /* prop */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.lang.Object value
        end local 8 // jdk.nashorn.internal.runtime.Property prop
        14: .line 707
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        15: iload 9
            iload 10
            if_icmplt 8
        16: .line 716
            aload 7 /* propList */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 44
        17: .line 717
            aload 3 /* targetObj */
            aload 4 /* sourceObj */
            aload 7 /* propList */
            iconst_0
            anewarray jdk.nashorn.internal.runtime.Property
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.Property[]
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addBoundProperties:(Ljdk/nashorn/internal/runtime/ScriptObject;[Ljdk/nashorn/internal/runtime/Property;)V
        end local 7 // java.util.ArrayList propList
        end local 6 // jdk.nashorn.internal.runtime.Property[] properties
        end local 5 // jdk.nashorn.internal.runtime.PropertyMap sourceMap
        end local 4 // jdk.nashorn.internal.runtime.ScriptObject sourceObj
        18: .line 719
            goto 44
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
        19: aload 2 /* source */
            instanceof jdk.nashorn.api.scripting.ScriptObjectMirror
            ifeq 32
        20: .line 721
            aload 2 /* source */
            checkcast jdk.nashorn.api.scripting.ScriptObjectMirror
            astore 4 /* mirror */
        start local 4 // jdk.nashorn.api.scripting.ScriptObjectMirror mirror
        21: .line 722
            aload 4 /* mirror */
            iconst_0
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.getOwnKeys:(Z)[Ljava/lang/String;
            astore 5 /* keys */
        start local 5 // java.lang.String[] keys
        22: .line 723
            aload 5 /* keys */
            arraylength
            ifne 24
        23: .line 725
            aload 1 /* target */
            areturn
        24: .line 729
      StackMap locals: jdk.nashorn.api.scripting.ScriptObjectMirror java.lang.String[]
      StackMap stack:
            aload 5 /* keys */
            arraylength
            anewarray jdk.nashorn.internal.runtime.AccessorProperty
            astore 6 /* props */
        start local 6 // jdk.nashorn.internal.runtime.AccessorProperty[] props
        25: .line 730
            iconst_0
            istore 7 /* idx */
        start local 7 // int idx
        26: goto 29
        27: .line 731
      StackMap locals: jdk.nashorn.internal.runtime.AccessorProperty[] int
      StackMap stack:
            aload 6 /* props */
            iload 7 /* idx */
            aload 5 /* keys */
            iload 7 /* idx */
            aaload
            invokestatic jdk.nashorn.internal.objects.NativeObject.createAccessorProperty:(Ljava/lang/String;)Ljdk/nashorn/internal/runtime/AccessorProperty;
            aastore
        28: .line 730
            iinc 7 /* idx */ 1
      StackMap locals:
      StackMap stack:
        29: iload 7 /* idx */
            aload 5 /* keys */
            arraylength
            if_icmplt 27
        end local 7 // int idx
        30: .line 734
            aload 3 /* targetObj */
            aload 2 /* source */
            aload 6 /* props */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addBoundProperties:(Ljava/lang/Object;[Ljdk/nashorn/internal/runtime/AccessorProperty;)V
        end local 6 // jdk.nashorn.internal.runtime.AccessorProperty[] props
        end local 5 // java.lang.String[] keys
        end local 4 // jdk.nashorn.api.scripting.ScriptObjectMirror mirror
        31: .line 735
            goto 44
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object jdk.nashorn.internal.runtime.ScriptObject
      StackMap stack:
        32: aload 2 /* source */
            instanceof jdk.dynalink.beans.StaticClass
            ifeq 39
        33: .line 736
            aload 2 /* source */
            checkcast jdk.dynalink.beans.StaticClass
            invokevirtual jdk.dynalink.beans.StaticClass.getRepresentedClass:()Ljava/lang/Class;
            astore 4 /* clazz */
        start local 4 // java.lang.Class clazz
        34: .line 737
            aload 4 /* clazz */
            iconst_1
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.checkReflectionAccess:(Ljava/lang/Class;Z)V
        35: .line 738
            aload 3 /* targetObj */
            aload 2 /* source */
            aload 4 /* clazz */
            invokestatic jdk.dynalink.beans.BeansLinker.getReadableStaticPropertyNames:(Ljava/lang/Class;)Ljava/util/Set;
        36: .line 739
            aload 4 /* clazz */
            invokestatic jdk.dynalink.beans.BeansLinker.getWritableStaticPropertyNames:(Ljava/lang/Class;)Ljava/util/Set;
            aload 4 /* clazz */
            invokestatic jdk.dynalink.beans.BeansLinker.getStaticMethodNames:(Ljava/lang/Class;)Ljava/util/Set;
        37: .line 738
            invokestatic jdk.nashorn.internal.objects.NativeObject.bindBeanProperties:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Object;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)V
        end local 4 // java.lang.Class clazz
        38: .line 740
            goto 44
        39: .line 741
      StackMap locals:
      StackMap stack:
            aload 2 /* source */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 4 /* clazz */
        start local 4 // java.lang.Class clazz
        40: .line 742
            aload 4 /* clazz */
            iconst_0
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.checkReflectionAccess:(Ljava/lang/Class;Z)V
        41: .line 743
            aload 3 /* targetObj */
            aload 2 /* source */
            aload 4 /* clazz */
            invokestatic jdk.dynalink.beans.BeansLinker.getReadableInstancePropertyNames:(Ljava/lang/Class;)Ljava/util/Set;
        42: .line 744
            aload 4 /* clazz */
            invokestatic jdk.dynalink.beans.BeansLinker.getWritableInstancePropertyNames:(Ljava/lang/Class;)Ljava/util/Set;
            aload 4 /* clazz */
            invokestatic jdk.dynalink.beans.BeansLinker.getInstanceMethodNames:(Ljava/lang/Class;)Ljava/util/Set;
        43: .line 743
            invokestatic jdk.nashorn.internal.objects.NativeObject.bindBeanProperties:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Object;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)V
        end local 4 // java.lang.Class clazz
        44: .line 747
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            areturn
        end local 3 // jdk.nashorn.internal.runtime.ScriptObject targetObj
        end local 2 // java.lang.Object source
        end local 1 // java.lang.Object target
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   45     0        self  Ljava/lang/Object;
            0   45     1      target  Ljava/lang/Object;
            0   45     2      source  Ljava/lang/Object;
            1   45     3   targetObj  Ljdk/nashorn/internal/runtime/ScriptObject;
            4   18     4   sourceObj  Ljdk/nashorn/internal/runtime/ScriptObject;
            5   18     5   sourceMap  Ljdk/nashorn/internal/runtime/PropertyMap;
            6   18     6  properties  [Ljdk/nashorn/internal/runtime/Property;
            7   18     7    propList  Ljava/util/ArrayList<Ljdk/nashorn/internal/runtime/Property;>;
            9   14     8        prop  Ljdk/nashorn/internal/runtime/Property;
           11   14    12       value  Ljava/lang/Object;
           21   31     4      mirror  Ljdk/nashorn/api/scripting/ScriptObjectMirror;
           22   31     5        keys  [Ljava/lang/String;
           25   31     6       props  [Ljdk/nashorn/internal/runtime/AccessorProperty;
           26   30     7         idx  I
           34   38     4       clazz  Ljava/lang/Class<*>;
           40   44     4       clazz  Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
        Name  Flags
      self    final
      target  final
      source  final

  private static jdk.nashorn.internal.runtime.AccessorProperty createAccessorProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/nashorn/internal/runtime/AccessorProperty;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String name
         0: .line 751
            aload 0 /* name */
            iconst_2
            getstatic jdk.nashorn.internal.objects.NativeObject.MIRROR_GETTER_TYPE:Ljava/lang/invoke/MethodType;
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.createDynamicInvoker:(Ljava/lang/String;ILjava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 1 /* getter */
        start local 1 // java.lang.invoke.MethodHandle getter
         1: .line 752
            aload 0 /* name */
            iconst_4
            getstatic jdk.nashorn.internal.objects.NativeObject.MIRROR_SETTER_TYPE:Ljava/lang/invoke/MethodType;
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.createDynamicInvoker:(Ljava/lang/String;ILjava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            astore 2 /* setter */
        start local 2 // java.lang.invoke.MethodHandle setter
         2: .line 753
            aload 0 /* name */
            iconst_0
            aload 1 /* getter */
            aload 2 /* setter */
            invokestatic jdk.nashorn.internal.runtime.AccessorProperty.create:(Ljava/lang/Object;ILjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/nashorn/internal/runtime/AccessorProperty;
            areturn
        end local 2 // java.lang.invoke.MethodHandle setter
        end local 1 // java.lang.invoke.MethodHandle getter
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    name  Ljava/lang/String;
            1    3     1  getter  Ljava/lang/invoke/MethodHandle;
            2    3     2  setter  Ljava/lang/invoke/MethodHandle;
    MethodParameters:
      Name  Flags
      name  final

  public static java.lang.Object bindAllProperties(jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.api.scripting.ScriptObjectMirror);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/api/scripting/ScriptObjectMirror;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject target
        start local 1 // jdk.nashorn.api.scripting.ScriptObjectMirror source
         0: .line 767
            aload 1 /* source */
            invokevirtual jdk.nashorn.api.scripting.ScriptObjectMirror.keySet:()Ljava/util/Set;
            astore 2 /* keys */
        start local 2 // java.util.Set keys
         1: .line 769
            aload 2 /* keys */
            invokeinterface java.util.Set.size:()I
            anewarray jdk.nashorn.internal.runtime.AccessorProperty
            astore 3 /* props */
        start local 3 // jdk.nashorn.internal.runtime.AccessorProperty[] props
         2: .line 770
            iconst_0
            istore 4 /* idx */
        start local 4 // int idx
         3: .line 771
            aload 2 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.api.scripting.ScriptObjectMirror java.util.Set jdk.nashorn.internal.runtime.AccessorProperty[] int top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* name */
        start local 5 // java.lang.String name
         5: .line 772
            aload 3 /* props */
            iload 4 /* idx */
            aload 5 /* name */
            invokestatic jdk.nashorn.internal.objects.NativeObject.createAccessorProperty:(Ljava/lang/String;)Ljdk/nashorn/internal/runtime/AccessorProperty;
            aastore
         6: .line 773
            iinc 4 /* idx */ 1
        end local 5 // java.lang.String name
         7: .line 771
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 776
            aload 0 /* target */
            aload 1 /* source */
            aload 3 /* props */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addBoundProperties:(Ljava/lang/Object;[Ljdk/nashorn/internal/runtime/AccessorProperty;)V
         9: .line 777
            aload 0 /* target */
            areturn
        end local 4 // int idx
        end local 3 // jdk.nashorn.internal.runtime.AccessorProperty[] props
        end local 2 // java.util.Set keys
        end local 1 // jdk.nashorn.api.scripting.ScriptObjectMirror source
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0  target  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   10     1  source  Ljdk/nashorn/api/scripting/ScriptObjectMirror;
            1   10     2    keys  Ljava/util/Set<Ljava/lang/String;>;
            2   10     3   props  [Ljdk/nashorn/internal/runtime/AccessorProperty;
            3   10     4     idx  I
            5    7     5    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      target  final
      source  final

  private static void bindBeanProperties(jdk.nashorn.internal.runtime.ScriptObject, , java.util.Collection<java.lang.String>, java.util.Collection<java.lang.String>, java.util.Collection<java.lang.String>);
    descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Object;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=16, args_size=5
        start local 0 // jdk.nashorn.internal.runtime.ScriptObject targetObj
        start local 1 // java.lang.Object source
        start local 2 // java.util.Collection readablePropertyNames
        start local 3 // java.util.Collection writablePropertyNames
        start local 4 // java.util.Collection methodNames
         0: .line 783
            new java.util.HashSet
            dup
            aload 2 /* readablePropertyNames */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 5 /* propertyNames */
        start local 5 // java.util.Set propertyNames
         1: .line 784
            aload 5 /* propertyNames */
            aload 3 /* writablePropertyNames */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 786
            aload 1 /* source */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 6 /* clazz */
        start local 6 // java.lang.Class clazz
         3: .line 788
            ldc Ljava/lang/Object;
            aload 6 /* clazz */
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            astore 7 /* getterType */
        start local 7 // java.lang.invoke.MethodType getterType
         4: .line 789
            ldc Ljava/lang/Object;
            aload 6 /* clazz */
            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;
            astore 8 /* setterType */
        start local 8 // java.lang.invoke.MethodType setterType
         5: .line 791
            aload 6 /* clazz */
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.getBeanLinkerForClass:(Ljava/lang/Class;)Ljdk/dynalink/linker/TypeBasedGuardingDynamicLinker;
            astore 9 /* linker */
        start local 9 // jdk.dynalink.linker.GuardingDynamicLinker linker
         6: .line 793
            new java.util.ArrayList
            dup
            aload 5 /* propertyNames */
            invokeinterface java.util.Set.size:()I
            aload 4 /* methodNames */
            invokeinterface java.util.Collection.size:()I
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 10 /* properties */
        start local 10 // java.util.List properties
         7: .line 794
            aload 4 /* methodNames */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 12
            goto 18
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.util.Collection java.util.Collection java.util.Collection java.util.Set java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType jdk.dynalink.linker.GuardingDynamicLinker java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* methodName */
        start local 11 // java.lang.String methodName
         9: .line 797
            aload 9 /* linker */
            getstatic jdk.nashorn.internal.objects.NativeObject.GET_METHOD:Ljdk/dynalink/Operation;
            aload 11 /* methodName */
            aload 7 /* getterType */
            aload 1 /* source */
            invokestatic jdk.nashorn.internal.objects.NativeObject.getBeanOperation:(Ljdk/dynalink/linker/GuardingDynamicLinker;Ljdk/dynalink/Operation;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 13 /* method */
        start local 13 // java.lang.invoke.MethodHandle method
        10: .line 798
            goto 13
        end local 13 // java.lang.invoke.MethodHandle method
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.util.Collection java.util.Collection java.util.Collection java.util.Set java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType jdk.dynalink.linker.GuardingDynamicLinker java.util.List java.lang.String java.util.Iterator
      StackMap stack: java.lang.IllegalAccessError
        11: pop
        12: .line 800
            goto 18
        start local 13 // java.lang.invoke.MethodHandle method
        13: .line 802
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 10 /* properties */
            aload 11 /* methodName */
            iconst_1
            aload 1 /* source */
        14: .line 803
            aload 13 /* method */
        15: .line 802
            invokestatic jdk.nashorn.internal.objects.NativeObject.getBoundBeanMethodGetter:(Ljava/lang/Object;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
        16: .line 803
            getstatic jdk.nashorn.internal.lookup.Lookup.EMPTY_SETTER:Ljava/lang/invoke/MethodHandle;
        17: .line 802
            invokestatic jdk.nashorn.internal.runtime.AccessorProperty.create:(Ljava/lang/Object;ILjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/nashorn/internal/runtime/AccessorProperty;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // java.lang.invoke.MethodHandle method
        end local 11 // java.lang.String methodName
        18: .line 794
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.util.Collection java.util.Collection java.util.Collection java.util.Set java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType jdk.dynalink.linker.GuardingDynamicLinker java.util.List top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        19: .line 805
            aload 5 /* propertyNames */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 40
      StackMap locals:
      StackMap stack:
        20: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* propertyName */
        start local 11 // java.lang.String propertyName
        21: .line 807
            aload 2 /* readablePropertyNames */
            aload 11 /* propertyName */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifeq 27
        22: .line 809
            aload 9 /* linker */
            getstatic jdk.nashorn.internal.objects.NativeObject.GET_PROPERTY:Ljdk/dynalink/Operation;
            aload 11 /* propertyName */
            aload 7 /* getterType */
            aload 1 /* source */
            invokestatic jdk.nashorn.internal.objects.NativeObject.getBeanOperation:(Ljdk/dynalink/linker/GuardingDynamicLinker;Ljdk/dynalink/Operation;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 13 /* getter */
        start local 13 // java.lang.invoke.MethodHandle getter
        23: .line 810
            goto 28
        end local 13 // java.lang.invoke.MethodHandle getter
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.util.Collection java.util.Collection java.util.Collection java.util.Set java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType jdk.dynalink.linker.GuardingDynamicLinker java.util.List java.lang.String java.util.Iterator
      StackMap stack: java.lang.IllegalAccessError
        24: pop
        25: .line 812
            getstatic jdk.nashorn.internal.lookup.Lookup.EMPTY_GETTER:Ljava/lang/invoke/MethodHandle;
            astore 13 /* getter */
        start local 13 // java.lang.invoke.MethodHandle getter
        26: .line 814
            goto 28
        end local 13 // java.lang.invoke.MethodHandle getter
        27: .line 815
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.EMPTY_GETTER:Ljava/lang/invoke/MethodHandle;
            astore 13 /* getter */
        start local 13 // java.lang.invoke.MethodHandle getter
        28: .line 817
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 3 /* writablePropertyNames */
            aload 11 /* propertyName */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            istore 14 /* isWritable */
        start local 14 // boolean isWritable
        29: .line 819
            iload 14 /* isWritable */
            ifeq 35
        30: .line 821
            aload 9 /* linker */
            getstatic jdk.nashorn.internal.objects.NativeObject.SET_PROPERTY:Ljdk/dynalink/Operation;
            aload 11 /* propertyName */
            aload 8 /* setterType */
            aload 1 /* source */
            invokestatic jdk.nashorn.internal.objects.NativeObject.getBeanOperation:(Ljdk/dynalink/linker/GuardingDynamicLinker;Ljdk/dynalink/Operation;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
            astore 15 /* setter */
        start local 15 // java.lang.invoke.MethodHandle setter
        31: .line 822
            goto 36
        end local 15 // java.lang.invoke.MethodHandle setter
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.util.Collection java.util.Collection java.util.Collection java.util.Set java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType jdk.dynalink.linker.GuardingDynamicLinker java.util.List java.lang.String java.util.Iterator java.lang.invoke.MethodHandle int
      StackMap stack: java.lang.IllegalAccessError
        32: pop
        33: .line 824
            getstatic jdk.nashorn.internal.lookup.Lookup.EMPTY_SETTER:Ljava/lang/invoke/MethodHandle;
            astore 15 /* setter */
        start local 15 // java.lang.invoke.MethodHandle setter
        34: .line 826
            goto 36
        end local 15 // java.lang.invoke.MethodHandle setter
        35: .line 827
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.lookup.Lookup.EMPTY_SETTER:Ljava/lang/invoke/MethodHandle;
            astore 15 /* setter */
        start local 15 // java.lang.invoke.MethodHandle setter
        36: .line 829
      StackMap locals: java.lang.invoke.MethodHandle
      StackMap stack:
            aload 13 /* getter */
            getstatic jdk.nashorn.internal.lookup.Lookup.EMPTY_GETTER:Ljava/lang/invoke/MethodHandle;
            if_acmpne 37
            aload 15 /* setter */
            getstatic jdk.nashorn.internal.lookup.Lookup.EMPTY_SETTER:Ljava/lang/invoke/MethodHandle;
            if_acmpeq 40
        37: .line 830
      StackMap locals:
      StackMap stack:
            aload 10 /* properties */
            aload 11 /* propertyName */
            iload 14 /* isWritable */
            ifeq 38
            iconst_0
            goto 39
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.util.Collection java.util.Collection java.util.Collection java.util.Set java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType jdk.dynalink.linker.GuardingDynamicLinker java.util.List java.lang.String java.util.Iterator java.lang.invoke.MethodHandle int java.lang.invoke.MethodHandle
      StackMap stack: java.util.List java.lang.String
        38: iconst_1
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.util.Collection java.util.Collection java.util.Collection java.util.Set java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType jdk.dynalink.linker.GuardingDynamicLinker java.util.List java.lang.String java.util.Iterator java.lang.invoke.MethodHandle int java.lang.invoke.MethodHandle
      StackMap stack: java.util.List java.lang.String int
        39: aload 13 /* getter */
            aload 15 /* setter */
            invokestatic jdk.nashorn.internal.runtime.AccessorProperty.create:(Ljava/lang/Object;ILjava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/nashorn/internal/runtime/AccessorProperty;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // java.lang.invoke.MethodHandle setter
        end local 14 // boolean isWritable
        end local 13 // java.lang.invoke.MethodHandle getter
        end local 11 // java.lang.String propertyName
        40: .line 805
      StackMap locals: jdk.nashorn.internal.runtime.ScriptObject java.lang.Object java.util.Collection java.util.Collection java.util.Collection java.util.Set java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MethodType jdk.dynalink.linker.GuardingDynamicLinker java.util.List top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        41: .line 834
            aload 0 /* targetObj */
            aload 1 /* source */
            aload 10 /* properties */
            iconst_0
            anewarray jdk.nashorn.internal.runtime.AccessorProperty
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.AccessorProperty[]
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.addBoundProperties:(Ljava/lang/Object;[Ljdk/nashorn/internal/runtime/AccessorProperty;)V
        42: .line 835
            return
        end local 10 // java.util.List properties
        end local 9 // jdk.dynalink.linker.GuardingDynamicLinker linker
        end local 8 // java.lang.invoke.MethodType setterType
        end local 7 // java.lang.invoke.MethodType getterType
        end local 6 // java.lang.Class clazz
        end local 5 // java.util.Set propertyNames
        end local 4 // java.util.Collection methodNames
        end local 3 // java.util.Collection writablePropertyNames
        end local 2 // java.util.Collection readablePropertyNames
        end local 1 // java.lang.Object source
        end local 0 // jdk.nashorn.internal.runtime.ScriptObject targetObj
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   43     0              targetObj  Ljdk/nashorn/internal/runtime/ScriptObject;
            0   43     1                 source  Ljava/lang/Object;
            0   43     2  readablePropertyNames  Ljava/util/Collection<Ljava/lang/String;>;
            0   43     3  writablePropertyNames  Ljava/util/Collection<Ljava/lang/String;>;
            0   43     4            methodNames  Ljava/util/Collection<Ljava/lang/String;>;
            1   43     5          propertyNames  Ljava/util/Set<Ljava/lang/String;>;
            3   43     6                  clazz  Ljava/lang/Class<*>;
            4   43     7             getterType  Ljava/lang/invoke/MethodType;
            5   43     8             setterType  Ljava/lang/invoke/MethodType;
            6   43     9                 linker  Ljdk/dynalink/linker/GuardingDynamicLinker;
            7   43    10             properties  Ljava/util/List<Ljdk/nashorn/internal/runtime/AccessorProperty;>;
            9   18    11             methodName  Ljava/lang/String;
           10   11    13                 method  Ljava/lang/invoke/MethodHandle;
           13   18    13                 method  Ljava/lang/invoke/MethodHandle;
           21   40    11           propertyName  Ljava/lang/String;
           23   24    13                 getter  Ljava/lang/invoke/MethodHandle;
           26   27    13                 getter  Ljava/lang/invoke/MethodHandle;
           28   40    13                 getter  Ljava/lang/invoke/MethodHandle;
           29   40    14             isWritable  Z
           31   32    15                 setter  Ljava/lang/invoke/MethodHandle;
           34   35    15                 setter  Ljava/lang/invoke/MethodHandle;
           36   40    15                 setter  Ljava/lang/invoke/MethodHandle;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.IllegalAccessError
          22    23      24  Class java.lang.IllegalAccessError
          30    31      32  Class java.lang.IllegalAccessError
    Signature: (Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/Object;Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
                       Name  Flags
      targetObj              final
      source                 final
      readablePropertyNames  final
      writablePropertyNames  final
      methodNames            final

  private static java.lang.invoke.MethodHandle getBoundBeanMethodGetter(java.lang.Object, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/Object;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // java.lang.Object source
        start local 1 // java.lang.invoke.MethodHandle methodGetter
         0: .line 842
            ldc Ljava/lang/Object;
         1: .line 843
            aload 1 /* methodGetter */
            aload 0 /* source */
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 0 /* source */
            aconst_null
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.bindCallable:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         2: .line 842
            invokestatic java.lang.invoke.MethodHandles.constant:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
         3: .line 843
            iconst_0
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
         4: .line 842
            invokestatic java.lang.invoke.MethodHandles.dropArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
         5: areturn
         6: .line 844
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* e */
        start local 2 // java.lang.Throwable e
         7: .line 845
            aload 2 /* e */
            athrow
        end local 2 // java.lang.Throwable e
         8: .line 846
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         9: .line 847
            new java.lang.RuntimeException
            dup
            aload 2 /* t */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.invoke.MethodHandle methodGetter
        end local 0 // java.lang.Object source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0        source  Ljava/lang/Object;
            0   10     1  methodGetter  Ljava/lang/invoke/MethodHandle;
            7    8     2             e  Ljava/lang/Throwable;
            9   10     2             t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.RuntimeException
           0     5       6  Class java.lang.Error
           0     5       8  Class java.lang.Throwable
    MethodParameters:
              Name  Flags
      source        final
      methodGetter  final

  private static java.lang.invoke.MethodHandle getBeanOperation(jdk.dynalink.linker.GuardingDynamicLinker, jdk.dynalink.Operation, java.lang.String, java.lang.invoke.MethodType, java.lang.Object);
    descriptor: (Ljdk/dynalink/linker/GuardingDynamicLinker;Ljdk/dynalink/Operation;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // jdk.dynalink.linker.GuardingDynamicLinker linker
        start local 1 // jdk.dynalink.Operation operation
        start local 2 // java.lang.String name
        start local 3 // java.lang.invoke.MethodType methodType
        start local 4 // java.lang.Object source
         0: .line 855
            aload 0 /* linker */
            aload 1 /* operation */
            aload 2 /* name */
            invokeinterface jdk.dynalink.Operation.named:(Ljava/lang/Object;)Ljdk/dynalink/NamedOperation;
            aload 3 /* methodType */
            aload 4 /* source */
            invokestatic jdk.nashorn.internal.objects.NativeObject.createLinkRequest:(Ljdk/dynalink/Operation;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)Ljdk/dynalink/linker/LinkRequest;
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.getLinkerServices:()Ljdk/dynalink/linker/LinkerServices;
            invokestatic jdk.nashorn.internal.runtime.linker.NashornBeansLinker.getGuardedInvocation:(Ljdk/dynalink/linker/GuardingDynamicLinker;Ljdk/dynalink/linker/LinkRequest;Ljdk/dynalink/linker/LinkerServices;)Ljdk/dynalink/linker/GuardedInvocation;
            astore 5 /* inv */
        start local 5 // jdk.dynalink.linker.GuardedInvocation inv
         1: .line 856
            getstatic jdk.nashorn.internal.objects.NativeObject.$assertionsDisabled:Z
            ifne 6
            aload 4 /* source */
            aload 5 /* inv */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getGuard:()Ljava/lang/invoke/MethodHandle;
            invokestatic jdk.nashorn.internal.objects.NativeObject.passesGuard:(Ljava/lang/Object;Ljava/lang/invoke/MethodHandle;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 5 // jdk.dynalink.linker.GuardedInvocation inv
         2: .line 857
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
         3: .line 858
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Throwable e
         4: .line 859
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* t */
        start local 6 // java.lang.Throwable t
         5: .line 860
            new java.lang.RuntimeException
            dup
            aload 6 /* t */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Throwable t
        start local 5 // jdk.dynalink.linker.GuardedInvocation inv
         6: .line 862
      StackMap locals: jdk.dynalink.linker.GuardedInvocation
      StackMap stack:
            getstatic jdk.nashorn.internal.objects.NativeObject.$assertionsDisabled:Z
            ifne 7
            aload 5 /* inv */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getSwitchPoints:()[Ljava/lang/invoke/SwitchPoint;
            ifnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 864
      StackMap locals:
      StackMap stack:
            aload 5 /* inv */
            invokevirtual jdk.dynalink.linker.GuardedInvocation.getInvocation:()Ljava/lang/invoke/MethodHandle;
            areturn
        end local 5 // jdk.dynalink.linker.GuardedInvocation inv
        end local 4 // java.lang.Object source
        end local 3 // java.lang.invoke.MethodType methodType
        end local 2 // java.lang.String name
        end local 1 // jdk.dynalink.Operation operation
        end local 0 // jdk.dynalink.linker.GuardingDynamicLinker linker
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0      linker  Ljdk/dynalink/linker/GuardingDynamicLinker;
            0    8     1   operation  Ljdk/dynalink/Operation;
            0    8     2        name  Ljava/lang/String;
            0    8     3  methodType  Ljava/lang/invoke/MethodType;
            0    8     4      source  Ljava/lang/Object;
            1    2     5         inv  Ljdk/dynalink/linker/GuardedInvocation;
            6    8     5         inv  Ljdk/dynalink/linker/GuardedInvocation;
            3    4     6           e  Ljava/lang/Throwable;
            5    6     6           t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       2  Class java.lang.RuntimeException
           0     2       2  Class java.lang.Error
           0     2       4  Class java.lang.Throwable
    MethodParameters:
            Name  Flags
      linker      final
      operation   final
      name        final
      methodType  final
      source      final

  private static boolean passesGuard(java.lang.Object, java.lang.invoke.MethodHandle);
    descriptor: (Ljava/lang/Object;Ljava/lang/invoke/MethodHandle;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object obj
        start local 1 // java.lang.invoke.MethodHandle guard
         0: .line 868
            aload 1 /* guard */
            ifnull 1
            aload 1 /* guard */
            aload 0 /* obj */
            invokevirtual java.lang.invoke.MethodHandle.invoke:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.invoke.MethodHandle guard
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0    obj  Ljava/lang/Object;
            0    2     1  guard  Ljava/lang/invoke/MethodHandle;
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
       Name  Flags
      obj    final
      guard  final

  private static jdk.dynalink.linker.LinkRequest createLinkRequest(jdk.dynalink.Operation, java.lang.invoke.MethodType, java.lang.Object);
    descriptor: (Ljdk/dynalink/Operation;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)Ljdk/dynalink/linker/LinkRequest;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // jdk.dynalink.Operation operation
        start local 1 // java.lang.invoke.MethodType methodType
        start local 2 // java.lang.Object source
         0: .line 872
            new jdk.dynalink.linker.support.SimpleLinkRequest
            dup
            new jdk.dynalink.CallSiteDescriptor
            dup
            invokestatic java.lang.invoke.MethodHandles.publicLookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            aload 0 /* operation */
         1: .line 873
            aload 1 /* methodType */
            invokespecial jdk.dynalink.CallSiteDescriptor.<init>:(Ljava/lang/invoke/MethodHandles$Lookup;Ljdk/dynalink/Operation;Ljava/lang/invoke/MethodType;)V
            iconst_0
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* source */
         2: .line 872
            aastore
            invokespecial jdk.dynalink.linker.support.SimpleLinkRequest.<init>:(Ljdk/dynalink/CallSiteDescriptor;Z[Ljava/lang/Object;)V
            areturn
        end local 2 // java.lang.Object source
        end local 1 // java.lang.invoke.MethodType methodType
        end local 0 // jdk.dynalink.Operation operation
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0   operation  Ljdk/dynalink/Operation;
            0    3     1  methodType  Ljava/lang/invoke/MethodType;
            0    3     2      source  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      operation   final
      methodType  final
      source      final

  private static java.lang.invoke.MethodHandle findOwnMH(java.lang.String, java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.String name
        start local 1 // java.lang.Class rtype
        start local 2 // java.lang.Class[] types
         0: .line 877
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
            ldc Ljdk/nashorn/internal/objects/NativeObject;
            aload 0 /* name */
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            aload 1 /* rtype */
            aload 2 /* types */
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.findStatic:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            areturn
        end local 2 // java.lang.Class[] types
        end local 1 // java.lang.Class rtype
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   name  Ljava/lang/String;
            0    1     1  rtype  Ljava/lang/Class<*>;
            0    1     2  types  [Ljava/lang/Class;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Ljava/lang/invoke/MethodHandle;
    MethodParameters:
       Name  Flags
      name   final
      rtype  final
      types  final

  static int[] $SWITCH_TABLE$jdk$nashorn$internal$runtime$JSType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 84
            getstatic jdk.nashorn.internal.objects.NativeObject.$SWITCH_TABLE$jdk$nashorn$internal$runtime$JSType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.nashorn.internal.runtime.JSType.values:()[Ljdk/nashorn/internal/runtime/JSType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.nashorn.internal.runtime.JSType.BOOLEAN:Ljdk/nashorn/internal/runtime/JSType;
            invokevirtual jdk.nashorn.internal.runtime.JSType.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.nashorn.internal.runtime.JSType.FUNCTION:Ljdk/nashorn/internal/runtime/JSType;
            invokevirtual jdk.nashorn.internal.runtime.JSType.ordinal:()I
            bipush 7
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.nashorn.internal.runtime.JSType.NULL:Ljdk/nashorn/internal/runtime/JSType;
            invokevirtual jdk.nashorn.internal.runtime.JSType.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.nashorn.internal.runtime.JSType.NUMBER:Ljdk/nashorn/internal/runtime/JSType;
            invokevirtual jdk.nashorn.internal.runtime.JSType.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.nashorn.internal.runtime.JSType.OBJECT:Ljdk/nashorn/internal/runtime/JSType;
            invokevirtual jdk.nashorn.internal.runtime.JSType.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.nashorn.internal.runtime.JSType.STRING:Ljdk/nashorn/internal/runtime/JSType;
            invokevirtual jdk.nashorn.internal.runtime.JSType.ordinal:()I
            iconst_5
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.nashorn.internal.runtime.JSType.SYMBOL:Ljdk/nashorn/internal/runtime/JSType;
            invokevirtual jdk.nashorn.internal.runtime.JSType.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.nashorn.internal.runtime.JSType.UNDEFINED:Ljdk/nashorn/internal/runtime/JSType;
            invokevirtual jdk.nashorn.internal.runtime.JSType.ordinal:()I
            iconst_1
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            dup
            putstatic jdk.nashorn.internal.objects.NativeObject.$SWITCH_TABLE$jdk$nashorn$internal$runtime$JSType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
}
SourceFile: "NativeObject.java"
NestMembers:
  jdk.nashorn.internal.objects.NativeObject$1
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  jdk.nashorn.internal.objects.NativeObject$1
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.ScriptClass(value = "Object")