public final class jdk.nashorn.internal.objects.NativeString extends jdk.nashorn.internal.runtime.ScriptObject implements jdk.nashorn.internal.runtime.OptimisticBuiltins
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.objects.NativeString
  super_class: jdk.nashorn.internal.runtime.ScriptObject
{
  private final java.lang.CharSequence value;
    descriptor: Ljava/lang/CharSequence;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final java.lang.invoke.MethodHandle WRAPFILTER;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final java.lang.invoke.MethodHandle PROTOFILTER;
    descriptor: Ljava/lang/invoke/MethodHandle;
    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

  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=7, locals=0, args_size=0
         0: .line 73
            ldc Ljdk/nashorn/internal/objects/NativeString;
            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.NativeString.$assertionsDisabled:Z
         3: .line 78
            ldc "wrapFilter"
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            ldc Ljdk/nashorn/internal/objects/NativeString;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokestatic jdk.nashorn.internal.objects.NativeString.findOwnMH:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.objects.NativeString.WRAPFILTER:Ljava/lang/invoke/MethodHandle;
         4: .line 80
            ldc "protoFilter"
            getstatic jdk.nashorn.internal.lookup.Lookup.MH:Ljdk/nashorn/internal/lookup/MethodHandleFunctionality;
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokeinterface jdk.nashorn.internal.lookup.MethodHandleFunctionality.type:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            invokestatic jdk.nashorn.internal.objects.NativeString.findOwnMH:(Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.nashorn.internal.objects.NativeString.PROTOFILTER:Ljava/lang/invoke/MethodHandle;
         5: .line 83
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.CharSequence value
         0: .line 86
            aload 0 /* this */
            aload 1 /* value */
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            invokespecial jdk.nashorn.internal.objects.NativeString.<init>:(Ljava/lang/CharSequence;Ljdk/nashorn/internal/objects/Global;)V
         1: .line 87
            return
        end local 1 // java.lang.CharSequence value
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/objects/NativeString;
            0    2     1  value  Ljava/lang/CharSequence;
    MethodParameters:
       Name  Flags
      value  final

  void <init>(java.lang.CharSequence, jdk.nashorn.internal.objects.Global);
    descriptor: (Ljava/lang/CharSequence;Ljdk/nashorn/internal/objects/Global;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.CharSequence value
        start local 2 // jdk.nashorn.internal.objects.Global global
         0: .line 90
            aload 0 /* this */
            aload 1 /* value */
            aload 2 /* global */
            invokevirtual jdk.nashorn.internal.objects.Global.getStringPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
            getstatic jdk.nashorn.internal.objects.NativeString.$nasgenmap$:Ljdk/nashorn/internal/runtime/PropertyMap;
            invokespecial jdk.nashorn.internal.objects.NativeString.<init>:(Ljava/lang/CharSequence;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;)V
         1: .line 91
            return
        end local 2 // jdk.nashorn.internal.objects.Global global
        end local 1 // java.lang.CharSequence value
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/objects/NativeString;
            0    2     1   value  Ljava/lang/CharSequence;
            0    2     2  global  Ljdk/nashorn/internal/objects/Global;
    MethodParameters:
        Name  Flags
      value   final
      global  final

  private void <init>(java.lang.CharSequence, jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.PropertyMap);
    descriptor: (Ljava/lang/CharSequence;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.CharSequence value
        start local 2 // jdk.nashorn.internal.runtime.ScriptObject proto
        start local 3 // jdk.nashorn.internal.runtime.PropertyMap map
         0: .line 94
            aload 0 /* this */
            aload 2 /* proto */
            aload 3 /* map */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.<init>:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;)V
         1: .line 95
            getstatic jdk.nashorn.internal.objects.NativeString.$assertionsDisabled:Z
            ifne 2
            aload 1 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.isString:(Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 96
      StackMap locals: jdk.nashorn.internal.objects.NativeString java.lang.CharSequence jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 0 /* this */
            aload 1 /* value */
            putfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
         3: .line 97
            return
        end local 3 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 2 // jdk.nashorn.internal.runtime.ScriptObject proto
        end local 1 // java.lang.CharSequence value
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljdk/nashorn/internal/objects/NativeString;
            0    4     1  value  Ljava/lang/CharSequence;
            0    4     2  proto  Ljdk/nashorn/internal/runtime/ScriptObject;
            0    4     3    map  Ljdk/nashorn/internal/runtime/PropertyMap;
    MethodParameters:
       Name  Flags
      value  final
      proto  final
      map    final

  public java.lang.String safeToString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeString this
         0: .line 101
            new java.lang.StringBuilder
            dup
            ldc "[String "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.objects.NativeString.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeString;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeString this
         0: .line 106
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.objects.NativeString.getStringValue:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeString;

  private java.lang.String getStringValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeString this
         0: .line 110
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            instanceof java.lang.String
            ifeq 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            checkcast java.lang.String
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/objects/NativeString;

  private java.lang.CharSequence getValue();
    descriptor: ()Ljava/lang/CharSequence;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeString this
         0: .line 114
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            areturn
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeString;

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeString this
         0: .line 119
            ldc "String"
            areturn
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeString;

  public java.lang.Object getLength();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeString this
         0: .line 124
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeString;

  protected jdk.dynalink.linker.GuardedInvocation findGetMethod(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 130
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getOperand:(Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 133
            ldc "length"
            aload 3 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
            aload 1 /* desc */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isMethodFirstOperation:(Ljdk/dynalink/CallSiteDescriptor;)Z
            ifeq 3
         2: .line 134
            aconst_null
            areturn
         3: .line 137
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.findGetMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 3 // java.lang.String name
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljdk/nashorn/internal/objects/NativeString;
            0    4     1     desc  Ljdk/dynalink/CallSiteDescriptor;
            0    4     2  request  Ljdk/dynalink/linker/LinkRequest;
            1    4     3     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  protected jdk.dynalink.linker.GuardedInvocation findGetIndexMethod(jdk.dynalink.CallSiteDescriptor, jdk.dynalink.linker.LinkRequest);
    descriptor: (Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // jdk.dynalink.CallSiteDescriptor desc
        start local 2 // jdk.dynalink.linker.LinkRequest request
         0: .line 143
            aload 2 /* request */
            invokeinterface jdk.dynalink.linker.LinkRequest.getReceiver:()Ljava/lang/Object;
            astore 3 /* self */
        start local 3 // java.lang.Object self
         1: .line 144
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
            invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
            astore 4 /* returnType */
        start local 4 // java.lang.Class returnType
         2: .line 146
            aload 4 /* returnType */
            ldc Ljava/lang/Object;
            if_acmpne 6
            aload 3 /* self */
            invokestatic jdk.nashorn.internal.runtime.JSType.isString:(Ljava/lang/Object;)Z
            ifeq 6
         3: .line 148
            new jdk.dynalink.linker.GuardedInvocation
            dup
            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/NativeString;
            ldc "get"
            aload 1 /* desc */
            invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()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;
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getStringGuard:()Ljava/lang/invoke/MethodHandle;
            invokespecial jdk.dynalink.linker.GuardedInvocation.<init>:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)V
         4: areturn
         5: .line 149
      StackMap locals: jdk.nashorn.internal.objects.NativeString jdk.dynalink.CallSiteDescriptor jdk.dynalink.linker.LinkRequest java.lang.Object java.lang.Class
      StackMap stack: jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException
            pop
         6: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* request */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.findGetIndexMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 4 // java.lang.Class returnType
        end local 3 // java.lang.Object self
        end local 2 // jdk.dynalink.linker.LinkRequest request
        end local 1 // jdk.dynalink.CallSiteDescriptor desc
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Ljdk/nashorn/internal/objects/NativeString;
            0    7     1        desc  Ljdk/dynalink/CallSiteDescriptor;
            0    7     2     request  Ljdk/dynalink/linker/LinkRequest;
            1    7     3        self  Ljava/lang/Object;
            2    7     4  returnType  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           3     4       5  Class jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException
    MethodParameters:
         Name  Flags
      desc     final
      request  final

  private static java.lang.Object get(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=5, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object key
         0: .line 158
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.JSType.toCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
            astore 2 /* cs */
        start local 2 // java.lang.CharSequence cs
         1: .line 159
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 3 /* primitiveKey */
        start local 3 // java.lang.Object primitiveKey
         2: .line 160
            aload 3 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 4 /* index */
        start local 4 // int index
         3: .line 161
            iload 4 /* index */
            iflt 5
            iload 4 /* index */
            aload 2 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpge 5
         4: .line 162
            aload 2 /* cs */
            iload 4 /* index */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            areturn
         5: .line 164
      StackMap locals: java.lang.CharSequence java.lang.Object int
      StackMap stack:
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            aload 3 /* primitiveKey */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // int index
        end local 3 // java.lang.Object primitiveKey
        end local 2 // java.lang.CharSequence cs
        end local 1 // java.lang.Object key
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          self  Ljava/lang/Object;
            0    6     1           key  Ljava/lang/Object;
            1    6     2            cs  Ljava/lang/CharSequence;
            2    6     3  primitiveKey  Ljava/lang/Object;
            3    6     4         index  I
    MethodParameters:
      Name  Flags
      self  final
      key   final

  private static java.lang.Object get(java.lang.Object, double);
    descriptor: (Ljava/lang/Object;D)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // double key
         0: .line 169
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.isRepresentableAsInt:(D)Z
            ifeq 2
         1: .line 170
            aload 0 /* self */
            dload 1 /* key */
            d2i
            invokestatic jdk.nashorn.internal.objects.NativeString.get:(Ljava/lang/Object;I)Ljava/lang/Object;
            areturn
         2: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            dload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(D)Ljava/lang/Object;
            areturn
        end local 1 // double key
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  self  Ljava/lang/Object;
            0    3     1   key  D
    MethodParameters:
      Name  Flags
      self  final
      key   final

  private static java.lang.Object get(java.lang.Object, long);
    descriptor: (Ljava/lang/Object;J)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // long key
         0: .line 177
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.JSType.toCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
            astore 3 /* cs */
        start local 3 // java.lang.CharSequence cs
         1: .line 178
            lload 1 /* key */
            lconst_0
            lcmp
            iflt 3
            lload 1 /* key */
            aload 3 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            i2l
            lcmp
            ifge 3
         2: .line 179
            aload 3 /* cs */
            lload 1 /* key */
            l2i
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            areturn
         3: .line 181
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            lload 1 /* key */
            l2d
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(D)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.CharSequence cs
        end local 1 // long key
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  self  Ljava/lang/Object;
            0    4     1   key  J
            1    4     3    cs  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      self  final
      key   final

  private static java.lang.Object get(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)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 // int key
         0: .line 185
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.JSType.toCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
            astore 2 /* cs */
        start local 2 // java.lang.CharSequence cs
         1: .line 186
            iload 1 /* key */
            iflt 3
            iload 1 /* key */
            aload 2 /* cs */
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpge 3
         2: .line 187
            aload 2 /* cs */
            iload 1 /* key */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            areturn
         3: .line 189
      StackMap locals: java.lang.CharSequence
      StackMap stack:
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            iload 1 /* key */
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(I)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.CharSequence cs
        end local 1 // int key
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  self  Ljava/lang/Object;
            0    4     1   key  I
            1    4     2    cs  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      self  final
      key   final

  public java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.Object key
         0: .line 195
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 2 /* primitiveKey */
        start local 2 // java.lang.Object primitiveKey
         1: .line 196
            aload 2 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 3 /* index */
        start local 3 // int index
         2: .line 197
            iload 3 /* index */
            iflt 4
            iload 3 /* index */
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpge 4
         3: .line 198
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            iload 3 /* index */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            areturn
         4: .line 200
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* primitiveKey */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // int index
        end local 2 // java.lang.Object primitiveKey
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljdk/nashorn/internal/objects/NativeString;
            0    5     1           key  Ljava/lang/Object;
            1    5     2  primitiveKey  Ljava/lang/Object;
            2    5     3         index  I
    MethodParameters:
      Name  Flags
      key   final

  public java.lang.Object get(double);
    descriptor: (D)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // double key
         0: .line 205
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.JSType.isRepresentableAsInt:(D)Z
            ifeq 2
         1: .line 206
            aload 0 /* this */
            dload 1 /* key */
            d2i
            invokevirtual jdk.nashorn.internal.objects.NativeString.get:(I)Ljava/lang/Object;
            areturn
         2: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* key */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.get:(D)Ljava/lang/Object;
            areturn
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/objects/NativeString;
            0    3     1   key  D
    MethodParameters:
      Name  Flags
      key   final

  public java.lang.Object get(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // int key
         0: .line 213
            iload 1 /* key */
            iflt 2
            iload 1 /* key */
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpge 2
         1: .line 214
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            iload 1 /* key */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            areturn
         2: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* key */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.get:(I)Ljava/lang/Object;
            areturn
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/objects/NativeString;
            0    3     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  public int getInt(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.Object key
        start local 2 // int programPoint
         0: .line 221
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.objects.NativeString.get:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 2 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInt32MaybeOptimistic:(Ljava/lang/Object;I)I
            ireturn
        end local 2 // int programPoint
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/objects/NativeString;
            0    1     1           key  Ljava/lang/Object;
            0    1     2  programPoint  I
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  public int getInt(double, int);
    descriptor: (DI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // double key
        start local 3 // int programPoint
         0: .line 226
            aload 0 /* this */
            dload 1 /* key */
            invokevirtual jdk.nashorn.internal.objects.NativeString.get:(D)Ljava/lang/Object;
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInt32MaybeOptimistic:(Ljava/lang/Object;I)I
            ireturn
        end local 3 // int programPoint
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/objects/NativeString;
            0    1     1           key  D
            0    1     3  programPoint  I
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  public int getInt(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // int key
        start local 2 // int programPoint
         0: .line 231
            aload 0 /* this */
            iload 1 /* key */
            invokevirtual jdk.nashorn.internal.objects.NativeString.get:(I)Ljava/lang/Object;
            iload 2 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInt32MaybeOptimistic:(Ljava/lang/Object;I)I
            ireturn
        end local 2 // int programPoint
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/objects/NativeString;
            0    1     1           key  I
            0    1     2  programPoint  I
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  public double getDouble(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.Object key
        start local 2 // int programPoint
         0: .line 236
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual jdk.nashorn.internal.objects.NativeString.get:(Ljava/lang/Object;)Ljava/lang/Object;
            iload 2 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.JSType.toNumberMaybeOptimistic:(Ljava/lang/Object;I)D
            dreturn
        end local 2 // int programPoint
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/objects/NativeString;
            0    1     1           key  Ljava/lang/Object;
            0    1     2  programPoint  I
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  public double getDouble(double, int);
    descriptor: (DI)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // double key
        start local 3 // int programPoint
         0: .line 241
            aload 0 /* this */
            dload 1 /* key */
            invokevirtual jdk.nashorn.internal.objects.NativeString.get:(D)Ljava/lang/Object;
            iload 3 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.JSType.toNumberMaybeOptimistic:(Ljava/lang/Object;I)D
            dreturn
        end local 3 // int programPoint
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/objects/NativeString;
            0    1     1           key  D
            0    1     3  programPoint  I
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  public double getDouble(int, int);
    descriptor: (II)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // int key
        start local 2 // int programPoint
         0: .line 246
            aload 0 /* this */
            iload 1 /* key */
            invokevirtual jdk.nashorn.internal.objects.NativeString.get:(I)Ljava/lang/Object;
            iload 2 /* programPoint */
            invokestatic jdk.nashorn.internal.runtime.JSType.toNumberMaybeOptimistic:(Ljava/lang/Object;I)D
            dreturn
        end local 2 // int programPoint
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/objects/NativeString;
            0    1     1           key  I
            0    1     2  programPoint  I
    MethodParameters:
              Name  Flags
      key           final
      programPoint  final

  public boolean has(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.Object key
         0: .line 251
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 2 /* primitiveKey */
        start local 2 // java.lang.Object primitiveKey
         1: .line 252
            aload 2 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 3 /* index */
        start local 3 // int index
         2: .line 253
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
            ifne 3
            aload 0 /* this */
            aload 2 /* primitiveKey */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.has:(Ljava/lang/Object;)Z
            ifne 3
            iconst_0
            ireturn
      StackMap locals: java.lang.Object int
      StackMap stack:
         3: iconst_1
            ireturn
        end local 3 // int index
        end local 2 // java.lang.Object primitiveKey
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljdk/nashorn/internal/objects/NativeString;
            0    4     1           key  Ljava/lang/Object;
            1    4     2  primitiveKey  Ljava/lang/Object;
            2    4     3         index  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean has(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // int key
         0: .line 258
            aload 0 /* this */
            iload 1 /* key */
            invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
            ifne 1
            aload 0 /* this */
            iload 1 /* key */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.has:(I)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/objects/NativeString;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean has(double);
    descriptor: (D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // double key
         0: .line 263
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 264
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
            ifne 2
            aload 0 /* this */
            dload 1 /* key */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.has:(D)Z
            ifne 2
            iconst_0
            ireturn
      StackMap locals: int
      StackMap stack:
         2: iconst_1
            ireturn
        end local 3 // int index
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/nashorn/internal/objects/NativeString;
            0    3     1    key  D
            1    3     3  index  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean hasOwnProperty(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.Object key
         0: .line 269
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 2 /* primitiveKey */
        start local 2 // java.lang.Object primitiveKey
         1: .line 270
            aload 2 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 3 /* index */
        start local 3 // int index
         2: .line 271
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
            ifne 3
            aload 0 /* this */
            aload 2 /* primitiveKey */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.hasOwnProperty:(Ljava/lang/Object;)Z
            ifne 3
            iconst_0
            ireturn
      StackMap locals: java.lang.Object int
      StackMap stack:
         3: iconst_1
            ireturn
        end local 3 // int index
        end local 2 // java.lang.Object primitiveKey
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljdk/nashorn/internal/objects/NativeString;
            0    4     1           key  Ljava/lang/Object;
            1    4     2  primitiveKey  Ljava/lang/Object;
            2    4     3         index  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean hasOwnProperty(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // int key
         0: .line 276
            aload 0 /* this */
            iload 1 /* key */
            invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
            ifne 1
            aload 0 /* this */
            iload 1 /* key */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.hasOwnProperty:(I)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/objects/NativeString;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean hasOwnProperty(double);
    descriptor: (D)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // double key
         0: .line 281
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 3 /* index */
        start local 3 // int index
         1: .line 282
            aload 0 /* this */
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
            ifne 2
            aload 0 /* this */
            dload 1 /* key */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.hasOwnProperty:(D)Z
            ifne 2
            iconst_0
            ireturn
      StackMap locals: int
      StackMap stack:
         2: iconst_1
            ireturn
        end local 3 // int index
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/nashorn/internal/objects/NativeString;
            0    3     1    key  D
            1    3     3  index  I
    MethodParameters:
      Name  Flags
      key   final

  public boolean delete(int, boolean);
    descriptor: (IZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // int key
        start local 2 // boolean strict
         0: .line 287
            aload 0 /* this */
            iload 1 /* key */
            iload 2 /* strict */
            invokevirtual jdk.nashorn.internal.objects.NativeString.checkDeleteIndex:(IZ)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            iload 1 /* key */
            iload 2 /* strict */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.delete:(IZ)Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // boolean strict
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/nashorn/internal/objects/NativeString;
            0    3     1     key  I
            0    3     2  strict  Z
    MethodParameters:
        Name  Flags
      key     final
      strict  final

  public boolean delete(double, boolean);
    descriptor: (DZ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // double key
        start local 3 // boolean strict
         0: .line 292
            dload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
            istore 4 /* index */
        start local 4 // int index
         1: .line 293
            aload 0 /* this */
            iload 4 /* index */
            iload 3 /* strict */
            invokevirtual jdk.nashorn.internal.objects.NativeString.checkDeleteIndex:(IZ)Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            dload 1 /* key */
            iload 3 /* strict */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.delete:(DZ)Z
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 4 // int index
        end local 3 // boolean strict
        end local 1 // double key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/nashorn/internal/objects/NativeString;
            0    4     1     key  D
            0    4     3  strict  Z
            1    4     4   index  I
    MethodParameters:
        Name  Flags
      key     final
      strict  final

  public boolean delete(java.lang.Object, boolean);
    descriptor: (Ljava/lang/Object;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.Object key
        start local 2 // boolean strict
         0: .line 298
            aload 1 /* key */
            ldc Ljava/lang/String;
            invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 3 /* primitiveKey */
        start local 3 // java.lang.Object primitiveKey
         1: .line 299
            aload 3 /* primitiveKey */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 4 /* index */
        start local 4 // int index
         2: .line 300
            aload 0 /* this */
            iload 4 /* index */
            iload 2 /* strict */
            invokevirtual jdk.nashorn.internal.objects.NativeString.checkDeleteIndex:(IZ)Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: java.lang.Object int
      StackMap stack:
         3: aload 0 /* this */
            aload 3 /* primitiveKey */
            iload 2 /* strict */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.delete:(Ljava/lang/Object;Z)Z
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 4 // int index
        end local 3 // java.lang.Object primitiveKey
        end local 2 // boolean strict
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljdk/nashorn/internal/objects/NativeString;
            0    5     1           key  Ljava/lang/Object;
            0    5     2        strict  Z
            1    5     3  primitiveKey  Ljava/lang/Object;
            2    5     4         index  I
    MethodParameters:
        Name  Flags
      key     final
      strict  final

  private boolean checkDeleteIndex(int, boolean);
    descriptor: (IZ)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // int index
        start local 2 // boolean strict
         0: .line 304
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
            ifeq 4
         1: .line 305
            iload 2 /* strict */
            ifeq 3
         2: .line 306
            ldc "cant.delete.property"
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            iload 1 /* index */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
         3: .line 308
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 311
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // boolean strict
        end local 1 // int index
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/nashorn/internal/objects/NativeString;
            0    5     1   index  I
            0    5     2  strict  Z
    MethodParameters:
        Name  Flags
      index   final
      strict  final

  public java.lang.Object getOwnPropertyDescriptor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.Object key
         0: .line 316
            aload 1 /* key */
            invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 317
            iload 2 /* index */
            iflt 4
            iload 2 /* index */
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpge 4
         2: .line 318
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            astore 3 /* global */
        start local 3 // jdk.nashorn.internal.objects.Global global
         3: .line 319
            aload 3 /* global */
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            iload 2 /* index */
            invokeinterface java.lang.CharSequence.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            iconst_0
            iconst_1
            iconst_0
            invokevirtual jdk.nashorn.internal.objects.Global.newDataDescriptor:(Ljava/lang/Object;ZZZ)Ljdk/nashorn/internal/runtime/PropertyDescriptor;
            areturn
        end local 3 // jdk.nashorn.internal.objects.Global global
         4: .line 322
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.getOwnPropertyDescriptor:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // int index
        end local 1 // java.lang.Object key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/nashorn/internal/objects/NativeString;
            0    5     1     key  Ljava/lang/Object;
            1    5     2   index  I
            3    4     3  global  Ljdk/nashorn/internal/objects/Global;
    MethodParameters:
      Name  Flags
      key   final

  protected <T> T[] getOwnKeys(java.lang.Class<T>, boolean, java.util.Set<T>);
    descriptor: (Ljava/lang/Class;ZLjava/util/Set;)[Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.Class type
        start local 2 // boolean all
        start local 3 // java.util.Set nonEnumerable
         0: .line 335
            aload 1 /* type */
            ldc Ljava/lang/String;
            if_acmpeq 2
         1: .line 336
            aload 0 /* this */
            aload 1 /* type */
            iload 2 /* all */
            aload 3 /* nonEnumerable */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys:(Ljava/lang/Class;ZLjava/util/Set;)[Ljava/lang/Object;
            areturn
         2: .line 339
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* keys */
        start local 4 // java.util.List keys
         3: .line 342
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 343
      StackMap locals: java.util.List int
      StackMap stack:
            aload 4 /* keys */
            iload 5 /* i */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(I)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 342
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            if_icmplt 5
        end local 5 // int i
         8: .line 347
            aload 4 /* keys */
            aload 0 /* this */
            aload 1 /* type */
            iload 2 /* all */
            aload 3 /* nonEnumerable */
            invokespecial jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys:(Ljava/lang/Class;ZLjava/util/Set;)[Ljava/lang/Object;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 348
            aload 4 /* keys */
            aload 1 /* type */
            aload 4 /* keys */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 4 // java.util.List keys
        end local 3 // java.util.Set nonEnumerable
        end local 2 // boolean all
        end local 1 // java.lang.Class type
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Ljdk/nashorn/internal/objects/NativeString;
            0   10     1           type  Ljava/lang/Class<TT;>;
            0   10     2            all  Z
            0   10     3  nonEnumerable  Ljava/util/Set<TT;>;
            3   10     4           keys  Ljava/util/List<Ljava/lang/Object;>;
            4    8     5              i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;ZLjava/util/Set<TT;>;)[TT;
    MethodParameters:
               Name  Flags
      type           final
      all            final
      nonEnumerable  final

  public static java.lang.Object length(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 358
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.getCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            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.Getter(attributes = 7)
    MethodParameters:
      Name  Flags
      self  final

  public static java.lang.String fromCharCode(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object[] args
         0: .line 369
            aload 1 /* args */
            arraylength
            newarray 5
            astore 2 /* buf */
        start local 2 // char[] buf
         1: .line 370
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         2: .line 371
            aload 1 /* args */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 6
      StackMap locals: java.lang.Object java.lang.Object[] char[] int top int int java.lang.Object[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* arg */
        start local 4 // java.lang.Object arg
         4: .line 372
            aload 2 /* buf */
            iload 3 /* index */
            iinc 3 /* index */ 1
            aload 4 /* arg */
            invokestatic jdk.nashorn.internal.runtime.JSType.toUint16:(Ljava/lang/Object;)I
            i2c
            castore
        end local 4 // java.lang.Object arg
         5: .line 371
            iinc 5 1
      StackMap locals:
      StackMap stack:
         6: iload 5
            iload 6
            if_icmplt 3
         7: .line 374
            new java.lang.String
            dup
            aload 2 /* buf */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 3 // int index
        end local 2 // char[] buf
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   self  Ljava/lang/Object;
            0    8     1   args  [Ljava/lang/Object;
            1    8     2    buf  [C
            2    8     3  index  I
            4    5     4    arg  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, arity = 1, where = jdk.nashorn.internal.objects.annotations.Where.CONSTRUCTOR:Ljdk/nashorn/internal/objects/annotations/Where;)
    MethodParameters:
      Name  Flags
      self  final
      args  final

  public static java.lang.Object fromCharCode(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=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object value
         0: .line 385
            aload 1 /* value */
            instanceof java.lang.Integer
            ifeq 2
         1: .line 386
            aload 0 /* self */
            aload 1 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokestatic jdk.nashorn.internal.objects.NativeString.fromCharCode:(Ljava/lang/Object;I)Ljava/lang/String;
            areturn
         2: .line 388
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.toUint16:(Ljava/lang/Object;)I
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object value
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   self  Ljava/lang/Object;
            0    3     1  value  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      self   final
      value  final

  public static java.lang.String fromCharCode(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // int value
         0: .line 399
            iload 1 /* value */
            ldc 65535
            iand
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            areturn
        end local 1 // int value
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   self  Ljava/lang/Object;
            0    1     1  value  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      self   final
      value  final

  public static java.lang.Object fromCharCode(java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // int ch1
        start local 2 // int ch2
         0: .line 411
            new java.lang.StringBuilder
            dup
            iload 1 /* ch1 */
            ldc 65535
            iand
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* ch2 */
            ldc 65535
            iand
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // int ch2
        end local 1 // int ch1
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  self  Ljava/lang/Object;
            0    1     1   ch1  I
            0    1     2   ch2  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
      Name  Flags
      self  final
      ch1   final
      ch2   final

  public static java.lang.Object fromCharCode(java.lang.Object, int, int, int);
    descriptor: (Ljava/lang/Object;III)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.Object self
        start local 1 // int ch1
        start local 2 // int ch2
        start local 3 // int ch3
         0: .line 424
            new java.lang.StringBuilder
            dup
            iload 1 /* ch1 */
            ldc 65535
            iand
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* ch2 */
            ldc 65535
            iand
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* ch3 */
            ldc 65535
            iand
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // int ch3
        end local 2 // int ch2
        end local 1 // int ch1
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  self  Ljava/lang/Object;
            0    1     1   ch1  I
            0    1     2   ch2  I
            0    1     3   ch3  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
      Name  Flags
      self  final
      ch1   final
      ch2   final
      ch3   final

  public static java.lang.String fromCharCode(java.lang.Object, int, int, int, int);
    descriptor: (Ljava/lang/Object;IIII)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // java.lang.Object self
        start local 1 // int ch1
        start local 2 // int ch2
        start local 3 // int ch3
        start local 4 // int ch4
         0: .line 438
            new java.lang.StringBuilder
            dup
            iload 1 /* ch1 */
            ldc 65535
            iand
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* ch2 */
            ldc 65535
            iand
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* ch3 */
            ldc 65535
            iand
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* ch4 */
            ldc 65535
            iand
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int ch4
        end local 3 // int ch3
        end local 2 // int ch2
        end local 1 // int ch1
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  self  Ljava/lang/Object;
            0    1     1   ch1  I
            0    1     2   ch2  I
            0    1     3   ch3  I
            0    1     4   ch4  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
      Name  Flags
      self  final
      ch1   final
      ch2   final
      ch3   final
      ch4   final

  public static java.lang.String fromCharCode(java.lang.Object, double);
    descriptor: (Ljava/lang/Object;D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // double value
         0: .line 449
            dload 1 /* value */
            invokestatic jdk.nashorn.internal.runtime.JSType.toUint16:(D)I
            i2c
            invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
            areturn
        end local 1 // double value
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   self  Ljava/lang/Object;
            0    1     1  value  D
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      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 459
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.getString:(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.String valueOf(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 469
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.getString:(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.String charAt(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object pos
         0: .line 480
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* pos */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
            invokestatic jdk.nashorn.internal.objects.NativeString.charAtImpl:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object pos
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  self  Ljava/lang/Object;
            0    1     1   pos  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final
      pos   final

  public static java.lang.String charAt(java.lang.Object, double);
    descriptor: (Ljava/lang/Object;D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // double pos
         0: .line 491
            aload 0 /* self */
            dload 1 /* pos */
            d2i
            invokestatic jdk.nashorn.internal.objects.NativeString.charAt:(Ljava/lang/Object;I)Ljava/lang/String;
            areturn
        end local 1 // double pos
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  self  Ljava/lang/Object;
            0    1     1   pos  D
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
      Name  Flags
      self  final
      pos   final

  public static java.lang.String charAt(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // int pos
         0: .line 502
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            iload 1 /* pos */
            invokestatic jdk.nashorn.internal.objects.NativeString.charAtImpl:(Ljava/lang/String;I)Ljava/lang/String;
            areturn
        end local 1 // int pos
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  self  Ljava/lang/Object;
            0    1     1   pos  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
      Name  Flags
      self  final
      pos   final

  private static java.lang.String charAtImpl(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String str
        start local 1 // int pos
         0: .line 506
            iload 1 /* pos */
            iflt 1
            iload 1 /* pos */
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
      StackMap locals:
      StackMap stack:
         1: ldc ""
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* str */
            iload 1 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // int pos
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   str  Ljava/lang/String;
            0    4     1   pos  I
    MethodParameters:
      Name  Flags
      str   final
      pos   final

  private static int getValidChar(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // int pos
         0: .line 511
            aload 0 /* self */
            checkcast java.lang.CharSequence
            iload 1 /* pos */
            invokeinterface java.lang.CharSequence.charAt:(I)C
         1: ireturn
         2: .line 512
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
            pop
         3: .line 513
            new java.lang.ClassCastException
            dup
            invokespecial java.lang.ClassCastException.<init>:()V
            athrow
        end local 1 // int pos
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  self  Ljava/lang/Object;
            0    4     1   pos  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IndexOutOfBoundsException
    MethodParameters:
      Name  Flags
      self  final
      pos   final

  public static double charCodeAt(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)D
    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 pos
         0: .line 525
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 526
            aload 1 /* pos */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
            istore 3 /* idx */
        start local 3 // int idx
         2: .line 527
            iload 3 /* idx */
            iflt 3
            iload 3 /* idx */
            aload 2 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
      StackMap locals: java.lang.String int
      StackMap stack:
         3: ldc NaN
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 2 /* str */
            iload 3 /* idx */
            invokevirtual java.lang.String.charAt:(I)C
            i2d
      StackMap locals:
      StackMap stack: double
         5: dreturn
        end local 3 // int idx
        end local 2 // java.lang.String str
        end local 1 // java.lang.Object pos
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  self  Ljava/lang/Object;
            0    6     1   pos  Ljava/lang/Object;
            1    6     2   str  Ljava/lang/String;
            2    6     3   idx  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final
      pos   final

  public static int charCodeAt(java.lang.Object, double);
    descriptor: (Ljava/lang/Object;D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // double pos
         0: .line 538
            aload 0 /* self */
            dload 1 /* pos */
            d2i
            invokestatic jdk.nashorn.internal.objects.NativeString.charCodeAt:(Ljava/lang/Object;I)I
            ireturn
        end local 1 // double pos
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  self  Ljava/lang/Object;
            0    1     1   pos  D
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction(linkLogic = Ljdk/nashorn/internal/objects/NativeString$CharCodeAtLinkLogic;)
    MethodParameters:
      Name  Flags
      self  final
      pos   final

  public static int charCodeAt(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // int pos
         0: .line 550
            aload 0 /* self */
            iload 1 /* pos */
            invokestatic jdk.nashorn.internal.objects.NativeString.getValidChar:(Ljava/lang/Object;I)I
            ireturn
        end local 1 // int pos
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  self  Ljava/lang/Object;
            0    1     1   pos  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction(linkLogic = Ljdk/nashorn/internal/objects/NativeString$CharCodeAtLinkLogic;)
    MethodParameters:
      Name  Flags
      self  final
      pos   final

  public static java.lang.Object concat(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object[] args
         0: .line 561
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* cs */
        start local 2 // java.lang.CharSequence cs
         1: .line 562
            aload 1 /* args */
            ifnull 7
         2: .line 563
            aload 1 /* args */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: java.lang.Object java.lang.Object[] java.lang.CharSequence top int int java.lang.Object[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* obj */
        start local 3 // java.lang.Object obj
         4: .line 564
            new jdk.nashorn.internal.runtime.ConsString
            dup
            aload 2 /* cs */
            aload 3 /* obj */
            invokestatic jdk.nashorn.internal.runtime.JSType.toCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
            invokespecial jdk.nashorn.internal.runtime.ConsString.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
            astore 2 /* cs */
        end local 3 // java.lang.Object obj
         5: .line 563
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 3
         7: .line 567
      StackMap locals: java.lang.Object java.lang.Object[] java.lang.CharSequence
      StackMap stack:
            aload 2 /* cs */
            areturn
        end local 2 // java.lang.CharSequence cs
        end local 1 // java.lang.Object[] args
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  self  Ljava/lang/Object;
            0    8     1  args  [Ljava/lang/Object;
            1    8     2    cs  Ljava/lang/CharSequence;
            4    5     3   obj  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, arity = 1)
    MethodParameters:
      Name  Flags
      self  final
      args  final

  public static int indexOf(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I
    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 search
        start local 2 // java.lang.Object pos
         0: .line 579
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 580
            aload 3 /* str */
            aload 1 /* search */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            aload 2 /* pos */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            ireturn
        end local 3 // java.lang.String str
        end local 2 // java.lang.Object pos
        end local 1 // java.lang.Object search
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    self  Ljava/lang/Object;
            0    2     1  search  Ljava/lang/Object;
            0    2     2     pos  Ljava/lang/Object;
            1    2     3     str  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, arity = 1)
    MethodParameters:
        Name  Flags
      self    final
      search  final
      pos     final

  public static int indexOf(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object search
         0: .line 591
            aload 0 /* self */
            aload 1 /* search */
            iconst_0
            invokestatic jdk.nashorn.internal.objects.NativeString.indexOf:(Ljava/lang/Object;Ljava/lang/Object;I)I
            ireturn
        end local 1 // java.lang.Object search
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    self  Ljava/lang/Object;
            0    1     1  search  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
        Name  Flags
      self    final
      search  final

  public static int indexOf(java.lang.Object, java.lang.Object, double);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;D)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object search
        start local 2 // double pos
         0: .line 603
            aload 0 /* self */
            aload 1 /* search */
            dload 2 /* pos */
            d2i
            invokestatic jdk.nashorn.internal.objects.NativeString.indexOf:(Ljava/lang/Object;Ljava/lang/Object;I)I
            ireturn
        end local 2 // double pos
        end local 1 // java.lang.Object search
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    self  Ljava/lang/Object;
            0    1     1  search  Ljava/lang/Object;
            0    1     2     pos  D
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
        Name  Flags
      self    final
      search  final
      pos     final

  public static int indexOf(java.lang.Object, java.lang.Object, int);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object search
        start local 2 // int pos
         0: .line 615
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            aload 1 /* search */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            iload 2 /* pos */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            ireturn
        end local 2 // int pos
        end local 1 // java.lang.Object search
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    self  Ljava/lang/Object;
            0    1     1  search  Ljava/lang/Object;
            0    1     2     pos  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
        Name  Flags
      self    final
      search  final
      pos     final

  public static int lastIndexOf(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object search
        start local 2 // java.lang.Object pos
         0: .line 628
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 629
            aload 1 /* search */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* searchStr */
        start local 4 // java.lang.String searchStr
         2: .line 630
            aload 3 /* str */
            invokevirtual java.lang.String.length:()I
            istore 5 /* length */
        start local 5 // int length
         3: .line 634
            aload 2 /* pos */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpne 6
         4: .line 635
            iload 5 /* length */
            istore 6 /* end */
        start local 6 // int end
         5: .line 636
            goto 15
        end local 6 // int end
         6: .line 637
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* pos */
            invokestatic jdk.nashorn.internal.runtime.JSType.toNumber:(Ljava/lang/Object;)D
            dstore 7 /* numPos */
        start local 7 // double numPos
         7: .line 638
            dload 7 /* numPos */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 8
            iload 5 /* length */
            goto 9
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object java.lang.String java.lang.String int top double
      StackMap stack:
         8: dload 7 /* numPos */
            d2i
      StackMap locals:
      StackMap stack: int
         9: istore 6 /* end */
        start local 6 // int end
        10: .line 639
            iload 6 /* end */
            ifge 13
        11: .line 640
            iconst_0
            istore 6 /* end */
        12: .line 641
            goto 15
      StackMap locals: java.lang.Object java.lang.Object java.lang.Object java.lang.String java.lang.String int int double
      StackMap stack:
        13: iload 6 /* end */
            iload 5 /* length */
            if_icmple 15
        14: .line 642
            iload 5 /* length */
            istore 6 /* end */
        end local 7 // double numPos
        15: .line 647
      StackMap locals:
      StackMap stack:
            aload 3 /* str */
            aload 4 /* searchStr */
            iload 6 /* end */
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
            ireturn
        end local 6 // int end
        end local 5 // int length
        end local 4 // java.lang.String searchStr
        end local 3 // java.lang.String str
        end local 2 // java.lang.Object pos
        end local 1 // java.lang.Object search
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       self  Ljava/lang/Object;
            0   16     1     search  Ljava/lang/Object;
            0   16     2        pos  Ljava/lang/Object;
            1   16     3        str  Ljava/lang/String;
            2   16     4  searchStr  Ljava/lang/String;
            3   16     5     length  I
            5    6     6        end  I
           10   16     6        end  I
            7   15     7     numPos  D
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2, arity = 1)
    MethodParameters:
        Name  Flags
      self    final
      search  final
      pos     final

  public static double localeCompare(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object that
         0: .line 659
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 660
            invokestatic jdk.nashorn.internal.objects.Global.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._locale:Ljava/util/Locale;
            invokestatic java.text.Collator.getInstance:(Ljava/util/Locale;)Ljava/text/Collator;
            astore 3 /* collator */
        start local 3 // java.text.Collator collator
         2: .line 662
            aload 3 /* collator */
            iconst_3
            invokevirtual java.text.Collator.setStrength:(I)V
         3: .line 663
            aload 3 /* collator */
            iconst_1
            invokevirtual java.text.Collator.setDecomposition:(I)V
         4: .line 665
            aload 3 /* collator */
            aload 2 /* str */
            aload 1 /* that */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            i2d
            dreturn
        end local 3 // java.text.Collator collator
        end local 2 // java.lang.String str
        end local 1 // java.lang.Object that
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      self  Ljava/lang/Object;
            0    5     1      that  Ljava/lang/Object;
            1    5     2       str  Ljava/lang/String;
            2    5     3  collator  Ljava/text/Collator;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final
      that  final

  public static jdk.nashorn.internal.runtime.ScriptObject match(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=3, locals=8, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object regexp
         0: .line 677
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 680
            aload 1 /* regexp */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpne 4
         2: .line 681
            new jdk.nashorn.internal.objects.NativeRegExp
            dup
            ldc ""
            invokespecial jdk.nashorn.internal.objects.NativeRegExp.<init>:(Ljava/lang/String;)V
            astore 3 /* nativeRegExp */
        start local 3 // jdk.nashorn.internal.objects.NativeRegExp nativeRegExp
         3: .line 682
            goto 5
        end local 3 // jdk.nashorn.internal.objects.NativeRegExp nativeRegExp
         4: .line 683
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* regexp */
            invokestatic jdk.nashorn.internal.objects.Global.toRegExp:(Ljava/lang/Object;)Ljdk/nashorn/internal/objects/NativeRegExp;
            astore 3 /* nativeRegExp */
        start local 3 // jdk.nashorn.internal.objects.NativeRegExp nativeRegExp
         5: .line 686
      StackMap locals: jdk.nashorn.internal.objects.NativeRegExp
      StackMap stack:
            aload 3 /* nativeRegExp */
            invokevirtual jdk.nashorn.internal.objects.NativeRegExp.getGlobal:()Z
            ifne 7
         6: .line 687
            aload 3 /* nativeRegExp */
            aload 2 /* str */
            invokevirtual jdk.nashorn.internal.objects.NativeRegExp.exec:(Ljava/lang/String;)Ljdk/nashorn/internal/objects/NativeRegExpExecResult;
            areturn
         7: .line 690
      StackMap locals:
      StackMap stack:
            aload 3 /* nativeRegExp */
            iconst_0
            invokevirtual jdk.nashorn.internal.objects.NativeRegExp.setLastIndex:(I)V
         8: .line 692
            iconst_0
            istore 4 /* previousLastIndex */
        start local 4 // int previousLastIndex
         9: .line 693
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* matches */
        start local 5 // java.util.List matches
        10: .line 696
            goto 18
        start local 6 // java.lang.Object result
        11: .line 697
      StackMap locals: int java.util.List java.lang.Object
      StackMap stack:
            aload 3 /* nativeRegExp */
            invokevirtual jdk.nashorn.internal.objects.NativeRegExp.getLastIndex:()I
            istore 7 /* thisIndex */
        start local 7 // int thisIndex
        12: .line 698
            iload 7 /* thisIndex */
            iload 4 /* previousLastIndex */
            if_icmpne 16
        13: .line 699
            aload 3 /* nativeRegExp */
            iload 7 /* thisIndex */
            iconst_1
            iadd
            invokevirtual jdk.nashorn.internal.objects.NativeRegExp.setLastIndex:(I)V
        14: .line 700
            iload 7 /* thisIndex */
            iconst_1
            iadd
            istore 4 /* previousLastIndex */
        15: .line 701
            goto 17
        16: .line 702
      StackMap locals: int
      StackMap stack:
            iload 7 /* thisIndex */
            istore 4 /* previousLastIndex */
        17: .line 704
      StackMap locals:
      StackMap stack:
            aload 5 /* matches */
            aload 6 /* result */
            checkcast jdk.nashorn.internal.runtime.ScriptObject
            iconst_0
            invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(I)Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // int thisIndex
        end local 6 // java.lang.Object result
        18: .line 696
      StackMap locals:
      StackMap stack:
            aload 3 /* nativeRegExp */
            aload 2 /* str */
            invokevirtual jdk.nashorn.internal.objects.NativeRegExp.exec:(Ljava/lang/String;)Ljdk/nashorn/internal/objects/NativeRegExpExecResult;
            dup
            astore 6 /* result */
        start local 6 // java.lang.Object result
        19: ifnonnull 11
        20: .line 707
            aload 5 /* matches */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 22
        21: .line 708
            aconst_null
            areturn
        22: .line 711
      StackMap locals: java.lang.Object
      StackMap stack:
            new jdk.nashorn.internal.objects.NativeArray
            dup
            aload 5 /* matches */
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
            areturn
        end local 6 // java.lang.Object result
        end local 5 // java.util.List matches
        end local 4 // int previousLastIndex
        end local 3 // jdk.nashorn.internal.objects.NativeRegExp nativeRegExp
        end local 2 // java.lang.String str
        end local 1 // java.lang.Object regexp
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   23     0               self  Ljava/lang/Object;
            0   23     1             regexp  Ljava/lang/Object;
            1   23     2                str  Ljava/lang/String;
            3    4     3       nativeRegExp  Ljdk/nashorn/internal/objects/NativeRegExp;
            5   23     3       nativeRegExp  Ljdk/nashorn/internal/objects/NativeRegExp;
            9   23     4  previousLastIndex  I
           10   23     5            matches  Ljava/util/List<Ljava/lang/Object;>;
           11   18     6             result  Ljava/lang/Object;
           19   23     6             result  Ljava/lang/Object;
           12   18     7          thisIndex  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
        Name  Flags
      self    final
      regexp  final

  public static java.lang.String replace(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object string
        start local 2 // java.lang.Object replacement
         0: .line 725
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 728
            aload 1 /* string */
            instanceof jdk.nashorn.internal.objects.NativeRegExp
            ifeq 4
         2: .line 729
            aload 1 /* string */
            checkcast jdk.nashorn.internal.objects.NativeRegExp
            astore 4 /* nativeRegExp */
        start local 4 // jdk.nashorn.internal.objects.NativeRegExp nativeRegExp
         3: .line 730
            goto 5
        end local 4 // jdk.nashorn.internal.objects.NativeRegExp nativeRegExp
         4: .line 731
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* string */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic jdk.nashorn.internal.objects.NativeRegExp.flatRegExp:(Ljava/lang/String;)Ljdk/nashorn/internal/objects/NativeRegExp;
            astore 4 /* nativeRegExp */
        start local 4 // jdk.nashorn.internal.objects.NativeRegExp nativeRegExp
         5: .line 734
      StackMap locals: jdk.nashorn.internal.objects.NativeRegExp
      StackMap stack:
            aload 2 /* replacement */
            invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.isCallable:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 735
            aload 4 /* nativeRegExp */
            aload 3 /* str */
            ldc ""
            aload 2 /* replacement */
            invokevirtual jdk.nashorn.internal.objects.NativeRegExp.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            areturn
         7: .line 738
      StackMap locals:
      StackMap stack:
            aload 4 /* nativeRegExp */
            aload 3 /* str */
            aload 2 /* replacement */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokevirtual jdk.nashorn.internal.objects.NativeRegExp.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 4 // jdk.nashorn.internal.objects.NativeRegExp nativeRegExp
        end local 3 // java.lang.String str
        end local 2 // java.lang.Object replacement
        end local 1 // java.lang.Object string
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          self  Ljava/lang/Object;
            0    8     1        string  Ljava/lang/Object;
            0    8     2   replacement  Ljava/lang/Object;
            1    8     3           str  Ljava/lang/String;
            3    4     4  nativeRegExp  Ljdk/nashorn/internal/objects/NativeRegExp;
            5    8     4  nativeRegExp  Ljdk/nashorn/internal/objects/NativeRegExp;
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
             Name  Flags
      self         final
      string       final
      replacement  final

  public static int search(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    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 string
         0: .line 751
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 752
            aload 1 /* string */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpne 2
            ldc ""
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 1 /* string */
      StackMap locals:
      StackMap stack: java.lang.Object
         3: invokestatic jdk.nashorn.internal.objects.Global.toRegExp:(Ljava/lang/Object;)Ljdk/nashorn/internal/objects/NativeRegExp;
            astore 3 /* nativeRegExp */
        start local 3 // jdk.nashorn.internal.objects.NativeRegExp nativeRegExp
         4: .line 754
            aload 3 /* nativeRegExp */
            aload 2 /* str */
            invokevirtual jdk.nashorn.internal.objects.NativeRegExp.search:(Ljava/lang/String;)I
            ireturn
        end local 3 // jdk.nashorn.internal.objects.NativeRegExp nativeRegExp
        end local 2 // java.lang.String str
        end local 1 // java.lang.Object string
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          self  Ljava/lang/Object;
            0    5     1        string  Ljava/lang/Object;
            1    5     2           str  Ljava/lang/String;
            4    5     3  nativeRegExp  Ljdk/nashorn/internal/objects/NativeRegExp;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
        Name  Flags
      self    final
      string  final

  public static java.lang.String slice(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
    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 start
        start local 2 // java.lang.Object end
         0: .line 768
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 769
            aload 2 /* end */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpne 3
         2: .line 770
            aload 3 /* str */
            aload 1 /* start */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
            invokestatic jdk.nashorn.internal.objects.NativeString.slice:(Ljava/lang/Object;I)Ljava/lang/String;
            areturn
         3: .line 772
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* str */
            aload 1 /* start */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
            aload 2 /* end */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
            invokestatic jdk.nashorn.internal.objects.NativeString.slice:(Ljava/lang/Object;II)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String str
        end local 2 // java.lang.Object end
        end local 1 // java.lang.Object start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   self  Ljava/lang/Object;
            0    4     1  start  Ljava/lang/Object;
            0    4     2    end  Ljava/lang/Object;
            1    4     3    str  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
       Name  Flags
      self   final
      start  final
      end    final

  public static java.lang.String slice(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // int start
         0: .line 784
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 785
            iload 1 /* start */
            ifge 2
            aload 2 /* str */
            invokevirtual java.lang.String.length:()I
            iload 1 /* start */
            iadd
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: iload 1 /* start */
            aload 2 /* str */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.min:(II)I
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* from */
        start local 3 // int from
         4: .line 787
            aload 2 /* str */
            iload 3 /* from */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 3 // int from
        end local 2 // java.lang.String str
        end local 1 // int start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   self  Ljava/lang/Object;
            0    5     1  start  I
            1    5     2    str  Ljava/lang/String;
            4    5     3   from  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      self   final
      start  final

  public static java.lang.String slice(java.lang.Object, double);
    descriptor: (Ljava/lang/Object;D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // double start
         0: .line 799
            aload 0 /* self */
            dload 1 /* start */
            d2i
            invokestatic jdk.nashorn.internal.objects.NativeString.slice:(Ljava/lang/Object;I)Ljava/lang/String;
            areturn
        end local 1 // double start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   self  Ljava/lang/Object;
            0    1     1  start  D
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      self   final
      start  final

  public static java.lang.String slice(java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;II)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // int start
        start local 2 // int end
         0: .line 813
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 814
            aload 3 /* str */
            invokevirtual java.lang.String.length:()I
            istore 4 /* len */
        start local 4 // int len
         2: .line 816
            iload 1 /* start */
            ifge 3
            iload 4 /* len */
            iload 1 /* start */
            iadd
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            goto 4
      StackMap locals: java.lang.String int
      StackMap stack:
         3: iload 1 /* start */
            iload 4 /* len */
            invokestatic java.lang.Math.min:(II)I
      StackMap locals:
      StackMap stack: int
         4: istore 5 /* from */
        start local 5 // int from
         5: .line 817
            iload 2 /* end */
            ifge 6
            iload 4 /* len */
            iload 2 /* end */
            iadd
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iload 2 /* end */
            iload 4 /* len */
            invokestatic java.lang.Math.min:(II)I
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* to */
        start local 6 // int to
         8: .line 819
            aload 3 /* str */
            iload 5 /* from */
            iload 6 /* to */
            invokestatic java.lang.Math.min:(II)I
            iload 6 /* to */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 6 // int to
        end local 5 // int from
        end local 4 // int len
        end local 3 // java.lang.String str
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   self  Ljava/lang/Object;
            0    9     1  start  I
            0    9     2    end  I
            1    9     3    str  Ljava/lang/String;
            2    9     4    len  I
            5    9     5   from  I
            8    9     6     to  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      self   final
      start  final
      end    final

  public static java.lang.String slice(java.lang.Object, double, double);
    descriptor: (Ljava/lang/Object;DD)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // double start
        start local 3 // double end
         0: .line 832
            aload 0 /* self */
            dload 1 /* start */
            d2i
            dload 3 /* end */
            d2i
            invokestatic jdk.nashorn.internal.objects.NativeString.slice:(Ljava/lang/Object;II)Ljava/lang/String;
            areturn
        end local 3 // double end
        end local 1 // double start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   self  Ljava/lang/Object;
            0    1     1  start  D
            0    1     3    end  D
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      self   final
      start  final
      end    final

  public static jdk.nashorn.internal.runtime.ScriptObject split(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=6, locals=6, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object separator
        start local 2 // java.lang.Object limit
         0: .line 845
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 846
            aload 2 /* limit */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpne 2
            ldc 4294967295
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 2 /* limit */
            invokestatic jdk.nashorn.internal.runtime.JSType.toUint32:(Ljava/lang/Object;)J
      StackMap locals:
      StackMap stack: long
         3: lstore 4 /* lim */
        start local 4 // long lim
         4: .line 848
            aload 1 /* separator */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpne 8
         5: .line 849
            lload 4 /* lim */
            lconst_0
            lcmp
            ifne 6
            new jdk.nashorn.internal.objects.NativeArray
            dup
            invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:()V
            goto 7
      StackMap locals: long
      StackMap stack:
         6: new jdk.nashorn.internal.objects.NativeArray
            dup
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* str */
            aastore
            invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.objects.NativeArray
         7: areturn
         8: .line 852
      StackMap locals:
      StackMap stack:
            aload 1 /* separator */
            instanceof jdk.nashorn.internal.objects.NativeRegExp
            ifeq 10
         9: .line 853
            aload 1 /* separator */
            checkcast jdk.nashorn.internal.objects.NativeRegExp
            aload 3 /* str */
            lload 4 /* lim */
            invokevirtual jdk.nashorn.internal.objects.NativeRegExp.split:(Ljava/lang/String;J)Ljdk/nashorn/internal/objects/NativeArray;
            areturn
        10: .line 857
      StackMap locals:
      StackMap stack:
            aload 3 /* str */
            aload 1 /* separator */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            lload 4 /* lim */
            invokestatic jdk.nashorn.internal.objects.NativeString.splitString:(Ljava/lang/String;Ljava/lang/String;J)Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
        end local 4 // long lim
        end local 3 // java.lang.String str
        end local 2 // java.lang.Object limit
        end local 1 // java.lang.Object separator
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       self  Ljava/lang/Object;
            0   11     1  separator  Ljava/lang/Object;
            0   11     2      limit  Ljava/lang/Object;
            1   11     3        str  Ljava/lang/String;
            4   11     4        lim  J
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
           Name  Flags
      self       final
      separator  final
      limit      final

  private static jdk.nashorn.internal.runtime.ScriptObject splitString(java.lang.String, java.lang.String, long);
    descriptor: (Ljava/lang/String;Ljava/lang/String;J)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // java.lang.String str
        start local 1 // java.lang.String separator
        start local 2 // long limit
         0: .line 861
            aload 1 /* separator */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 9
         1: .line 862
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            i2l
            lload 2 /* limit */
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            istore 4 /* length */
        start local 4 // int length
         2: .line 863
            iload 4 /* length */
            anewarray java.lang.Object
            astore 5 /* array */
        start local 5 // java.lang.Object[] array
         3: .line 864
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 865
      StackMap locals: int java.lang.Object[] int
      StackMap stack:
            aload 5 /* array */
            iload 6 /* i */
            aload 0 /* str */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            aastore
         6: .line 864
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            iload 4 /* length */
            if_icmplt 5
        end local 6 // int i
         8: .line 867
            new jdk.nashorn.internal.objects.NativeArray
            dup
            aload 5 /* array */
            invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
            areturn
        end local 5 // java.lang.Object[] array
        end local 4 // int length
         9: .line 870
      StackMap locals:
      StackMap stack:
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 4 /* elements */
        start local 4 // java.util.List elements
        10: .line 871
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            istore 5 /* strLength */
        start local 5 // int strLength
        11: .line 872
            aload 1 /* separator */
            invokevirtual java.lang.String.length:()I
            istore 6 /* sepLength */
        start local 6 // int sepLength
        12: .line 873
            iconst_0
            istore 7 /* pos */
        start local 7 // int pos
        13: .line 874
            iconst_0
            istore 8 /* n */
        start local 8 // int n
        14: .line 876
            goto 21
        15: .line 877
      StackMap locals: java.lang.String java.lang.String long java.util.List int int int int
      StackMap stack:
            aload 0 /* str */
            aload 1 /* separator */
            iload 7 /* pos */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 9 /* found */
        start local 9 // int found
        16: .line 878
            iload 9 /* found */
            iconst_m1
            if_icmpne 18
        17: .line 879
            goto 22
        18: .line 881
      StackMap locals: int
      StackMap stack:
            aload 4 /* elements */
            aload 0 /* str */
            iload 7 /* pos */
            iload 9 /* found */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 882
            iinc 8 /* n */ 1
        20: .line 883
            iload 9 /* found */
            iload 6 /* sepLength */
            iadd
            istore 7 /* pos */
        end local 9 // int found
        21: .line 876
      StackMap locals:
      StackMap stack:
            iload 7 /* pos */
            iload 5 /* strLength */
            if_icmpge 22
            iload 8 /* n */
            i2l
            lload 2 /* limit */
            lcmp
            iflt 15
        22: .line 885
      StackMap locals:
      StackMap stack:
            iload 7 /* pos */
            iload 5 /* strLength */
            if_icmpgt 24
            iload 8 /* n */
            i2l
            lload 2 /* limit */
            lcmp
            ifge 24
        23: .line 886
            aload 4 /* elements */
            aload 0 /* str */
            iload 7 /* pos */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 889
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.objects.NativeArray
            dup
            aload 4 /* elements */
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
            areturn
        end local 8 // int n
        end local 7 // int pos
        end local 6 // int sepLength
        end local 5 // int strLength
        end local 4 // java.util.List elements
        end local 2 // long limit
        end local 1 // java.lang.String separator
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0        str  Ljava/lang/String;
            0   25     1  separator  Ljava/lang/String;
            0   25     2      limit  J
            2    9     4     length  I
            3    9     5      array  [Ljava/lang/Object;
            4    8     6          i  I
           10   25     4   elements  Ljava/util/List<Ljava/lang/String;>;
           11   25     5  strLength  I
           12   25     6  sepLength  I
           13   25     7        pos  I
           14   25     8          n  I
           16   21     9      found  I
    MethodParameters:
           Name  Flags
      str        final
      separator  final
      limit      final

  public static java.lang.String substr(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // java.lang.Object start
        start local 2 // java.lang.Object length
         0: .line 902
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 903
            aload 3 /* str */
            invokevirtual java.lang.String.length:()I
            istore 4 /* strLength */
        start local 4 // int strLength
         2: .line 905
            aload 1 /* start */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
            istore 5 /* intStart */
        start local 5 // int intStart
         3: .line 906
            iload 5 /* intStart */
            ifge 5
         4: .line 907
            iload 5 /* intStart */
            iload 4 /* strLength */
            iadd
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            istore 5 /* intStart */
         5: .line 910
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 2 /* length */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpne 6
            ldc 2147483647
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 2 /* length */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
      StackMap locals:
      StackMap stack: int
         7: iconst_0
            invokestatic java.lang.Math.max:(II)I
            iload 4 /* strLength */
            iload 5 /* intStart */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* intLen */
        start local 6 // int intLen
         8: .line 912
            iload 6 /* intLen */
            ifgt 9
            ldc ""
            goto 10
      StackMap locals: int
      StackMap stack:
         9: aload 3 /* str */
            iload 5 /* intStart */
            iload 5 /* intStart */
            iload 6 /* intLen */
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        10: areturn
        end local 6 // int intLen
        end local 5 // int intStart
        end local 4 // int strLength
        end local 3 // java.lang.String str
        end local 2 // java.lang.Object length
        end local 1 // java.lang.Object start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       self  Ljava/lang/Object;
            0   11     1      start  Ljava/lang/Object;
            0   11     2     length  Ljava/lang/Object;
            1   11     3        str  Ljava/lang/String;
            2   11     4  strLength  I
            3   11     5   intStart  I
            8   11     6     intLen  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
        Name  Flags
      self    final
      start   final
      length  final

  public static java.lang.String substring(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
    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 start
        start local 2 // java.lang.Object end
         0: .line 926
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 927
            aload 2 /* end */
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
            if_acmpne 3
         2: .line 928
            aload 3 /* str */
            aload 1 /* start */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
            invokestatic jdk.nashorn.internal.objects.NativeString.substring:(Ljava/lang/Object;I)Ljava/lang/String;
            areturn
         3: .line 930
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* str */
            aload 1 /* start */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
            aload 2 /* end */
            invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
            invokestatic jdk.nashorn.internal.objects.NativeString.substring:(Ljava/lang/Object;II)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String str
        end local 2 // java.lang.Object end
        end local 1 // java.lang.Object start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   self  Ljava/lang/Object;
            0    4     1  start  Ljava/lang/Object;
            0    4     2    end  Ljava/lang/Object;
            1    4     3    str  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
       Name  Flags
      self   final
      start  final
      end    final

  public static java.lang.String substring(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // int start
         0: .line 942
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 943
            iload 1 /* start */
            ifge 3
         2: .line 944
            aload 2 /* str */
            areturn
         3: .line 945
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* start */
            aload 2 /* str */
            invokevirtual java.lang.String.length:()I
            if_icmplt 5
         4: .line 946
            ldc ""
            areturn
         5: .line 948
      StackMap locals:
      StackMap stack:
            aload 2 /* str */
            iload 1 /* start */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String str
        end local 1 // int start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   self  Ljava/lang/Object;
            0    6     1  start  I
            1    6     2    str  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      self   final
      start  final

  public static java.lang.String substring(java.lang.Object, double);
    descriptor: (Ljava/lang/Object;D)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object self
        start local 1 // double start
         0: .line 961
            aload 0 /* self */
            dload 1 /* start */
            d2i
            invokestatic jdk.nashorn.internal.objects.NativeString.substring:(Ljava/lang/Object;I)Ljava/lang/String;
            areturn
        end local 1 // double start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   self  Ljava/lang/Object;
            0    1     1  start  D
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      self   final
      start  final

  public static java.lang.String substring(java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;II)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // int start
        start local 2 // int end
         0: .line 974
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 975
            aload 3 /* str */
            invokevirtual java.lang.String.length:()I
            istore 4 /* len */
        start local 4 // int len
         2: .line 976
            iload 1 /* start */
            ifge 3
            iconst_0
            goto 5
      StackMap locals: java.lang.String int
      StackMap stack:
         3: iload 1 /* start */
            iload 4 /* len */
            if_icmple 4
            iload 4 /* len */
            goto 5
      StackMap locals:
      StackMap stack:
         4: iload 1 /* start */
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* validStart */
        start local 5 // int validStart
         6: .line 977
            iload 2 /* end */
            ifge 7
            iconst_0
            goto 9
      StackMap locals: int
      StackMap stack:
         7: iload 2 /* end */
            iload 4 /* len */
            if_icmple 8
            iload 4 /* len */
            goto 9
      StackMap locals:
      StackMap stack:
         8: iload 2 /* end */
      StackMap locals:
      StackMap stack: int
         9: istore 6 /* validEnd */
        start local 6 // int validEnd
        10: .line 979
            iload 5 /* validStart */
            iload 6 /* validEnd */
            if_icmpge 12
        11: .line 980
            aload 3 /* str */
            iload 5 /* validStart */
            iload 6 /* validEnd */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        12: .line 982
      StackMap locals: int
      StackMap stack:
            aload 3 /* str */
            iload 6 /* validEnd */
            iload 5 /* validStart */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 6 // int validEnd
        end local 5 // int validStart
        end local 4 // int len
        end local 3 // java.lang.String str
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        self  Ljava/lang/Object;
            0   13     1       start  I
            0   13     2         end  I
            1   13     3         str  Ljava/lang/String;
            2   13     4         len  I
            6   13     5  validStart  I
           10   13     6    validEnd  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      self   final
      start  final
      end    final

  public static java.lang.String substring(java.lang.Object, double, double);
    descriptor: (Ljava/lang/Object;DD)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.Object self
        start local 1 // double start
        start local 3 // double end
         0: .line 995
            aload 0 /* self */
            dload 1 /* start */
            d2i
            dload 3 /* end */
            d2i
            invokestatic jdk.nashorn.internal.objects.NativeString.substring:(Ljava/lang/Object;II)Ljava/lang/String;
            areturn
        end local 3 // double end
        end local 1 // double start
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   self  Ljava/lang/Object;
            0    1     1  start  D
            0    1     3    end  D
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction()
    MethodParameters:
       Name  Flags
      self   final
      start  final
      end    final

  public static java.lang.String toLowerCase(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1005
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)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.String toLocaleLowerCase(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1015
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic jdk.nashorn.internal.objects.Global.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._locale:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)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.String toUpperCase(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1025
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)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.String toLocaleUpperCase(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1035
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic jdk.nashorn.internal.objects.Global.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._locale:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)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.String trim(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1045
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 1 /* str */
        start local 1 // java.lang.String str
         1: .line 1046
            iconst_0
            istore 2 /* start */
        start local 2 // int start
         2: .line 1047
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 3 /* end */
        start local 3 // int end
         3: .line 1049
            goto 5
         4: .line 1050
      StackMap locals: java.lang.String int int
      StackMap stack:
            iinc 2 /* start */ 1
         5: .line 1049
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            iload 3 /* end */
            if_icmpgt 8
            aload 1 /* str */
            iload 2 /* start */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.isJSWhitespace:(C)Z
            ifne 4
         6: .line 1052
            goto 8
         7: .line 1053
      StackMap locals:
      StackMap stack:
            iinc 3 /* end */ -1
         8: .line 1052
      StackMap locals:
      StackMap stack:
            iload 3 /* end */
            iload 2 /* start */
            if_icmple 9
            aload 1 /* str */
            iload 3 /* end */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.isJSWhitespace:(C)Z
            ifne 7
         9: .line 1056
      StackMap locals:
      StackMap stack:
            aload 1 /* str */
            iload 2 /* start */
            iload 3 /* end */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.String str
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   self  Ljava/lang/Object;
            1   10     1    str  Ljava/lang/String;
            2   10     2  start  I
            3   10     3    end  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final

  public static java.lang.String trimLeft(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1067
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 1 /* str */
        start local 1 // java.lang.String str
         1: .line 1068
            iconst_0
            istore 2 /* start */
        start local 2 // int start
         2: .line 1069
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 3 /* end */
        start local 3 // int end
         3: .line 1071
            goto 5
         4: .line 1072
      StackMap locals: java.lang.String int int
      StackMap stack:
            iinc 2 /* start */ 1
         5: .line 1071
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            iload 3 /* end */
            if_icmpgt 6
            aload 1 /* str */
            iload 2 /* start */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.isJSWhitespace:(C)Z
            ifne 4
         6: .line 1075
      StackMap locals:
      StackMap stack:
            aload 1 /* str */
            iload 2 /* start */
            iload 3 /* end */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 3 // int end
        end local 2 // int start
        end local 1 // java.lang.String str
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   self  Ljava/lang/Object;
            1    7     1    str  Ljava/lang/String;
            2    7     2  start  I
            3    7     3    end  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final

  public static java.lang.String trimRight(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1086
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 1 /* str */
        start local 1 // java.lang.String str
         1: .line 1088
            aload 1 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 2 /* end */
        start local 2 // int end
         2: .line 1090
            goto 4
         3: .line 1091
      StackMap locals: java.lang.String int
      StackMap stack:
            iinc 2 /* end */ -1
         4: .line 1090
      StackMap locals:
      StackMap stack:
            iload 2 /* end */
            iflt 5
            aload 1 /* str */
            iload 2 /* end */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.isJSWhitespace:(C)Z
            ifne 3
         5: .line 1094
      StackMap locals:
      StackMap stack:
            aload 1 /* str */
            iconst_0
            iload 2 /* end */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int end
        end local 1 // java.lang.String str
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  self  Ljava/lang/Object;
            1    6     1   str  Ljava/lang/String;
            2    6     2   end  I
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Function(attributes = 2)
    MethodParameters:
      Name  Flags
      self  final

  private static jdk.nashorn.internal.runtime.ScriptObject newObj(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljdk/nashorn/internal/runtime/ScriptObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.CharSequence str
         0: .line 1098
            new jdk.nashorn.internal.objects.NativeString
            dup
            aload 0 /* str */
            invokespecial jdk.nashorn.internal.objects.NativeString.<init>:(Ljava/lang/CharSequence;)V
            areturn
        end local 0 // java.lang.CharSequence str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      str   final

  public static java.lang.Object constructor(boolean, java.lang.Object, java.lang.Object[]);
    descriptor: (ZLjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    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[] args
         0: .line 1114
            aload 2 /* args */
            arraylength
            ifle 1
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic jdk.nashorn.internal.runtime.JSType.toCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc ""
      StackMap locals:
      StackMap stack: java.lang.CharSequence
         2: astore 3 /* str */
        start local 3 // java.lang.CharSequence str
         3: .line 1115
            iload 0 /* newObj */
            ifeq 4
            aload 3 /* str */
            invokestatic jdk.nashorn.internal.objects.NativeString.newObj:(Ljava/lang/CharSequence;)Ljdk/nashorn/internal/runtime/ScriptObject;
            goto 5
      StackMap locals: java.lang.CharSequence
      StackMap stack:
         4: aload 3 /* str */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.Object
         5: areturn
        end local 3 // java.lang.CharSequence str
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.Object self
        end local 0 // boolean newObj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0  newObj  Z
            0    6     1    self  Ljava/lang/Object;
            0    6     2    args  [Ljava/lang/Object;
            3    6     3     str  Ljava/lang/CharSequence;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.Constructor(arity = 1)
    MethodParameters:
        Name  Flags
      newObj  final
      self    final
      args    final

  public static java.lang.Object constructor(boolean, java.lang.Object);
    descriptor: (ZLjava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // boolean newObj
        start local 1 // java.lang.Object self
         0: .line 1130
            iload 0 /* newObj */
            ifeq 1
            ldc ""
            invokestatic jdk.nashorn.internal.objects.NativeString.newObj:(Ljava/lang/CharSequence;)Ljdk/nashorn/internal/runtime/ScriptObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc ""
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 1 // java.lang.Object self
        end local 0 // boolean newObj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  newObj  Z
            0    3     1    self  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction(isConstructor = true)
    MethodParameters:
        Name  Flags
      newObj  final
      self    final

  public static java.lang.Object constructor(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=1, locals=4, args_size=3
        start local 0 // boolean newObj
        start local 1 // java.lang.Object self
        start local 2 // java.lang.Object arg
         0: .line 1146
            aload 2 /* arg */
            invokestatic jdk.nashorn.internal.runtime.JSType.toCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
            astore 3 /* str */
        start local 3 // java.lang.CharSequence str
         1: .line 1147
            iload 0 /* newObj */
            ifeq 2
            aload 3 /* str */
            invokestatic jdk.nashorn.internal.objects.NativeString.newObj:(Ljava/lang/CharSequence;)Ljdk/nashorn/internal/runtime/ScriptObject;
            goto 3
      StackMap locals: java.lang.CharSequence
      StackMap stack:
         2: aload 3 /* str */
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 3 // java.lang.CharSequence str
        end local 2 // java.lang.Object arg
        end local 1 // java.lang.Object self
        end local 0 // boolean newObj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  newObj  Z
            0    4     1    self  Ljava/lang/Object;
            0    4     2     arg  Ljava/lang/Object;
            1    4     3     str  Ljava/lang/CharSequence;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction(isConstructor = true)
    MethodParameters:
        Name  Flags
      newObj  final
      self    final
      arg     final

  public static java.lang.Object constructor(boolean, java.lang.Object, int);
    descriptor: (ZLjava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=4, args_size=3
        start local 0 // boolean newObj
        start local 1 // java.lang.Object self
        start local 2 // int arg
         0: .line 1163
            iload 2 /* arg */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 1164
            iload 0 /* newObj */
            ifeq 2
            aload 3 /* str */
            invokestatic jdk.nashorn.internal.objects.NativeString.newObj:(Ljava/lang/CharSequence;)Ljdk/nashorn/internal/runtime/ScriptObject;
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 3 /* str */
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 3 // java.lang.String str
        end local 2 // int arg
        end local 1 // java.lang.Object self
        end local 0 // boolean newObj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  newObj  Z
            0    4     1    self  Ljava/lang/Object;
            0    4     2     arg  I
            1    4     3     str  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction(isConstructor = true)
    MethodParameters:
        Name  Flags
      newObj  final
      self    final
      arg     final

  public static java.lang.Object constructor(boolean, java.lang.Object, double);
    descriptor: (ZLjava/lang/Object;D)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // boolean newObj
        start local 1 // java.lang.Object self
        start local 2 // double arg
         0: .line 1180
            dload 2 /* arg */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
            astore 4 /* str */
        start local 4 // java.lang.String str
         1: .line 1181
            iload 0 /* newObj */
            ifeq 2
            aload 4 /* str */
            invokestatic jdk.nashorn.internal.objects.NativeString.newObj:(Ljava/lang/CharSequence;)Ljdk/nashorn/internal/runtime/ScriptObject;
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 4 /* str */
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 4 // java.lang.String str
        end local 2 // double arg
        end local 1 // java.lang.Object self
        end local 0 // boolean newObj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  newObj  Z
            0    4     1    self  Ljava/lang/Object;
            0    4     2     arg  D
            1    4     4     str  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction(isConstructor = true)
    MethodParameters:
        Name  Flags
      newObj  final
      self    final
      arg     final

  public static java.lang.Object constructor(boolean, java.lang.Object, boolean);
    descriptor: (ZLjava/lang/Object;Z)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=4, args_size=3
        start local 0 // boolean newObj
        start local 1 // java.lang.Object self
        start local 2 // boolean arg
         0: .line 1197
            iload 2 /* arg */
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         1: .line 1198
            iload 0 /* newObj */
            ifeq 2
            aload 3 /* str */
            invokestatic jdk.nashorn.internal.objects.NativeString.newObj:(Ljava/lang/CharSequence;)Ljdk/nashorn/internal/runtime/ScriptObject;
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 3 /* str */
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 3 // java.lang.String str
        end local 2 // boolean arg
        end local 1 // java.lang.Object self
        end local 0 // boolean newObj
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  newObj  Z
            0    4     1    self  Ljava/lang/Object;
            0    4     2     arg  Z
            1    4     3     str  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.SpecializedFunction(isConstructor = true)
    MethodParameters:
        Name  Flags
      newObj  final
      self    final
      arg     final

  public static java.lang.Object getIterator(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1209
            new jdk.nashorn.internal.objects.StringIterator
            dup
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            invokespecial jdk.nashorn.internal.objects.StringIterator.<init>:(Ljava/lang/String;Ljdk/nashorn/internal/objects/Global;)V
            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, name = "@@iterator")
    MethodParameters:
      Name  Flags
      self  final

  public static jdk.dynalink.linker.GuardedInvocation lookupPrimitive(jdk.dynalink.linker.LinkRequest, java.lang.Object);
    descriptor: (Ljdk/dynalink/linker/LinkRequest;Ljava/lang/Object;)Ljdk/dynalink/linker/GuardedInvocation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.dynalink.linker.LinkRequest request
        start local 1 // java.lang.Object receiver
         0: .line 1220
            aload 0 /* request */
            invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getStringGuard:()Ljava/lang/invoke/MethodHandle;
         1: .line 1221
            new jdk.nashorn.internal.objects.NativeString
            dup
            aload 1 /* receiver */
            checkcast java.lang.CharSequence
            invokespecial jdk.nashorn.internal.objects.NativeString.<init>:(Ljava/lang/CharSequence;)V
            getstatic jdk.nashorn.internal.objects.NativeString.WRAPFILTER:Ljava/lang/invoke/MethodHandle;
            getstatic jdk.nashorn.internal.objects.NativeString.PROTOFILTER:Ljava/lang/invoke/MethodHandle;
         2: .line 1220
            invokestatic jdk.nashorn.internal.runtime.linker.PrimitiveLookup.lookupPrimitive:(Ljdk/dynalink/linker/LinkRequest;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/ScriptObject;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljdk/dynalink/linker/GuardedInvocation;
            areturn
        end local 1 // java.lang.Object receiver
        end local 0 // jdk.dynalink.linker.LinkRequest request
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   request  Ljdk/dynalink/linker/LinkRequest;
            0    3     1  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      request   final
      receiver  final

  private static jdk.nashorn.internal.objects.NativeString wrapFilter(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/objects/NativeString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object receiver
         0: .line 1226
            new jdk.nashorn.internal.objects.NativeString
            dup
            aload 0 /* receiver */
            checkcast java.lang.CharSequence
            invokespecial jdk.nashorn.internal.objects.NativeString.<init>:(Ljava/lang/CharSequence;)V
            areturn
        end local 0 // java.lang.Object receiver
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  receiver  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      receiver  final

  private static java.lang.Object protoFilter(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object object
         0: .line 1231
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            invokevirtual jdk.nashorn.internal.objects.Global.getStringPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
            areturn
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      object  final

  private static java.lang.CharSequence getCharSequence(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/CharSequence;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1235
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.JSType.isString:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1236
            aload 0 /* self */
            checkcast java.lang.CharSequence
            areturn
         2: .line 1237
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            instanceof jdk.nashorn.internal.objects.NativeString
            ifeq 4
         3: .line 1238
            aload 0 /* self */
            checkcast jdk.nashorn.internal.objects.NativeString
            invokevirtual jdk.nashorn.internal.objects.NativeString.getValue:()Ljava/lang/CharSequence;
            areturn
         4: .line 1239
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            ifnull 6
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            invokevirtual jdk.nashorn.internal.objects.Global.getStringPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
            if_acmpne 6
         5: .line 1240
            ldc ""
            areturn
         6: .line 1242
      StackMap locals:
      StackMap stack:
            ldc "not.a.string"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  self  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      self  final

  private static java.lang.String getString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1247
            aload 0 /* self */
            instanceof java.lang.String
            ifeq 2
         1: .line 1248
            aload 0 /* self */
            checkcast java.lang.String
            areturn
         2: .line 1249
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ConsString
            ifeq 4
         3: .line 1250
            aload 0 /* self */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         4: .line 1251
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            instanceof jdk.nashorn.internal.objects.NativeString
            ifeq 6
         5: .line 1252
            aload 0 /* self */
            checkcast jdk.nashorn.internal.objects.NativeString
            invokevirtual jdk.nashorn.internal.objects.NativeString.getStringValue:()Ljava/lang/String;
            areturn
         6: .line 1253
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            ifnull 8
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
            invokevirtual jdk.nashorn.internal.objects.Global.getStringPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
            if_acmpne 8
         7: .line 1254
            ldc ""
            areturn
         8: .line 1256
      StackMap locals:
      StackMap stack:
            ldc "not.a.string"
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.runtime.ECMAErrors.typeError:(Ljava/lang/String;[Ljava/lang/String;)Ljdk/nashorn/internal/runtime/ECMAException;
            athrow
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  self  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      self  final

  private static java.lang.String checkObjectToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object self
         0: .line 1267
            aload 0 /* self */
            instanceof java.lang.String
            ifeq 2
         1: .line 1268
            aload 0 /* self */
            checkcast java.lang.String
            areturn
         2: .line 1269
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            instanceof jdk.nashorn.internal.runtime.ConsString
            ifeq 4
         3: .line 1270
            aload 0 /* self */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            areturn
         4: .line 1272
      StackMap locals:
      StackMap stack:
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.objects.Global.checkObjectCoercible:(Ljava/lang/Object;)V
         5: .line 1273
            aload 0 /* self */
            invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.Object self
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  self  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      self  final

  private boolean isValidStringIndex(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // int key
         0: .line 1278
            iload 1 /* key */
            iflt 1
            iload 1 /* key */
            aload 0 /* this */
            getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.length:()I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int key
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/objects/NativeString;
            0    2     1   key  I
    MethodParameters:
      Name  Flags
      key   final

  private static java.lang.invoke.MethodHandle findOwnMH(java.lang.String, java.lang.invoke.MethodType);
    descriptor: (Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.invoke.MethodType type
         0: .line 1282
            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/NativeString;
            aload 0 /* name */
            aload 1 /* type */
            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 1 // java.lang.invoke.MethodType type
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
            0    1     1  type  Ljava/lang/invoke/MethodType;
    MethodParameters:
      Name  Flags
      name  final
      type  final

  public jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic getLinkLogic(java.lang.Class<? extends jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic>);
    descriptor: (Ljava/lang/Class;)Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.objects.NativeString this
        start local 1 // java.lang.Class clazz
         0: .line 1287
            aload 1 /* clazz */
            ldc Ljdk/nashorn/internal/objects/NativeString$CharCodeAtLinkLogic;
            if_acmpne 2
         1: .line 1288
            getstatic jdk.nashorn.internal.objects.NativeString$CharCodeAtLinkLogic.INSTANCE:Ljdk/nashorn/internal/objects/NativeString$CharCodeAtLinkLogic;
            areturn
         2: .line 1290
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/nashorn/internal/objects/NativeString;
            0    3     1  clazz  Ljava/lang/Class<+Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;>;
    Signature: (Ljava/lang/Class<+Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;>;)Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic;
    MethodParameters:
       Name  Flags
      clazz  final

  public boolean hasPerInstanceAssumptions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.objects.NativeString this
         0: .line 1295
            iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.objects.NativeString this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/objects/NativeString;
}
SourceFile: "NativeString.java"
NestMembers:
  jdk.nashorn.internal.objects.NativeString$CharCodeAtLinkLogic
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public LookupException = jdk.nashorn.internal.lookup.MethodHandleFactory$LookupException of jdk.nashorn.internal.lookup.MethodHandleFactory
  private final CharCodeAtLinkLogic = jdk.nashorn.internal.objects.NativeString$CharCodeAtLinkLogic of jdk.nashorn.internal.objects.NativeString
  public abstract LinkLogic = jdk.nashorn.internal.objects.annotations.SpecializedFunction$LinkLogic of jdk.nashorn.internal.objects.annotations.SpecializedFunction
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.objects.annotations.ScriptClass(value = "String")