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: 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: 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: 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: 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 start local 1 0: aload 0
aload 1
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: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
aload 2
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: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 3
invokespecial jdk.nashorn.internal.runtime.ScriptObject.<init>:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;)V
1: getstatic jdk.nashorn.internal.objects.NativeString.$assertionsDisabled:Z
ifne 2
aload 1
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: StackMap locals: jdk.nashorn.internal.objects.NativeString java.lang.CharSequence jdk.nashorn.internal.runtime.ScriptObject jdk.nashorn.internal.runtime.PropertyMap
StackMap stack:
aload 0
aload 1
putfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
3: return
end local 3 end local 2 end local 1 end local 0 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 0: new java.lang.StringBuilder
dup
ldc "[String "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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 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 0: aload 0
invokevirtual jdk.nashorn.internal.objects.NativeString.getStringValue:()Ljava/lang/String;
areturn
end local 0 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 0: aload 0
getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
instanceof java.lang.String
ifeq 1
aload 0
getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
checkcast java.lang.String
goto 2
StackMap locals:
StackMap stack:
1: aload 0
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 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 0: aload 0
getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
areturn
end local 0 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 0: ldc "String"
areturn
end local 0 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 0: aload 0
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 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 start local 1 start local 2 0: aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.getOperand:(Ljdk/dynalink/CallSiteDescriptor;)Ljava/lang/String;
astore 3
start local 3 1: ldc "length"
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
aload 1
invokestatic jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor.isMethodFirstOperation:(Ljdk/dynalink/CallSiteDescriptor;)Z
ifeq 3
2: aconst_null
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 1
aload 2
invokespecial jdk.nashorn.internal.runtime.ScriptObject.findGetMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
invokeinterface jdk.dynalink.linker.LinkRequest.getReceiver:()Ljava/lang/Object;
astore 3
start local 3 1: aload 1
invokevirtual jdk.dynalink.CallSiteDescriptor.getMethodType:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 4
start local 4 2: aload 4
ldc Ljava/lang/Object;
if_acmpne 6
aload 3
invokestatic jdk.nashorn.internal.runtime.JSType.isString:(Ljava/lang/Object;)Z
ifeq 6
3: 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
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: 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: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial jdk.nashorn.internal.runtime.ScriptObject.findGetIndexMethod:(Ljdk/dynalink/CallSiteDescriptor;Ljdk/dynalink/linker/LinkRequest;)Ljdk/dynalink/linker/GuardedInvocation;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.runtime.JSType.toCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
astore 2
start local 2 1: aload 1
ldc Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
istore 4
start local 4 3: iload 4
iflt 5
iload 4
aload 2
invokeinterface java.lang.CharSequence.length:()I
if_icmpge 5
4: aload 2
iload 4
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
areturn
5: StackMap locals: java.lang.CharSequence java.lang.Object int
StackMap stack:
aload 0
invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.ScriptObject
aload 3
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: dload 1
invokestatic jdk.nashorn.internal.runtime.JSType.isRepresentableAsInt:(D)Z
ifeq 2
1: aload 0
dload 1
d2i
invokestatic jdk.nashorn.internal.objects.NativeString.get:(Ljava/lang/Object;I)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.ScriptObject
dload 1
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(D)Ljava/lang/Object;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.runtime.JSType.toCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
astore 3
start local 3 1: lload 1
lconst_0
lcmp
iflt 3
lload 1
aload 3
invokeinterface java.lang.CharSequence.length:()I
i2l
lcmp
ifge 3
2: aload 3
lload 1
l2i
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
areturn
3: StackMap locals: java.lang.CharSequence
StackMap stack:
aload 0
invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.ScriptObject
lload 1
l2d
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(D)Ljava/lang/Object;
areturn
end local 3 end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.runtime.JSType.toCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
astore 2
start local 2 1: iload 1
iflt 3
iload 1
aload 2
invokeinterface java.lang.CharSequence.length:()I
if_icmpge 3
2: aload 2
iload 1
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
areturn
3: StackMap locals: java.lang.CharSequence
StackMap stack:
aload 0
invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.nashorn.internal.runtime.ScriptObject
iload 1
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(I)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
ldc Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
istore 3
start local 3 2: iload 3
iflt 4
iload 3
aload 0
getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.length:()I
if_icmpge 4
3: aload 0
getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
iload 3
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
areturn
4: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
aload 2
invokespecial jdk.nashorn.internal.runtime.ScriptObject.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: dload 1
invokestatic jdk.nashorn.internal.runtime.JSType.isRepresentableAsInt:(D)Z
ifeq 2
1: aload 0
dload 1
d2i
invokevirtual jdk.nashorn.internal.objects.NativeString.get:(I)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 0
dload 1
invokespecial jdk.nashorn.internal.runtime.ScriptObject.get:(D)Ljava/lang/Object;
areturn
end local 1 end local 0 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 start local 1 0: iload 1
iflt 2
iload 1
aload 0
getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.length:()I
if_icmpge 2
1: aload 0
getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
iload 1
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokespecial jdk.nashorn.internal.runtime.ScriptObject.get:(I)Ljava/lang/Object;
areturn
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.objects.NativeString.get:(Ljava/lang/Object;)Ljava/lang/Object;
iload 2
invokestatic jdk.nashorn.internal.runtime.JSType.toInt32MaybeOptimistic:(Ljava/lang/Object;I)I
ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 3 0: aload 0
dload 1
invokevirtual jdk.nashorn.internal.objects.NativeString.get:(D)Ljava/lang/Object;
iload 3
invokestatic jdk.nashorn.internal.runtime.JSType.toInt32MaybeOptimistic:(Ljava/lang/Object;I)I
ireturn
end local 3 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.objects.NativeString.get:(I)Ljava/lang/Object;
iload 2
invokestatic jdk.nashorn.internal.runtime.JSType.toInt32MaybeOptimistic:(Ljava/lang/Object;I)I
ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
invokevirtual jdk.nashorn.internal.objects.NativeString.get:(Ljava/lang/Object;)Ljava/lang/Object;
iload 2
invokestatic jdk.nashorn.internal.runtime.JSType.toNumberMaybeOptimistic:(Ljava/lang/Object;I)D
dreturn
end local 2 end local 1 end local 0 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 start local 1 start local 3 0: aload 0
dload 1
invokevirtual jdk.nashorn.internal.objects.NativeString.get:(D)Ljava/lang/Object;
iload 3
invokestatic jdk.nashorn.internal.runtime.JSType.toNumberMaybeOptimistic:(Ljava/lang/Object;I)D
dreturn
end local 3 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.objects.NativeString.get:(I)Ljava/lang/Object;
iload 2
invokestatic jdk.nashorn.internal.runtime.JSType.toNumberMaybeOptimistic:(Ljava/lang/Object;I)D
dreturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
ldc Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
istore 3
start local 3 2: aload 0
iload 3
invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
ifne 3
aload 0
aload 2
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 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
ifne 1
aload 0
iload 1
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 end local 0 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 start local 1 0: dload 1
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
istore 3
start local 3 1: aload 0
iload 3
invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
ifne 2
aload 0
dload 1
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 end local 1 end local 0 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 start local 1 0: aload 1
ldc Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
istore 3
start local 3 2: aload 0
iload 3
invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
ifne 3
aload 0
aload 2
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 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
ifne 1
aload 0
iload 1
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 end local 0 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 start local 1 0: dload 1
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
istore 3
start local 3 1: aload 0
iload 3
invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
ifne 2
aload 0
dload 1
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 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokevirtual jdk.nashorn.internal.objects.NativeString.checkDeleteIndex:(IZ)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0
iload 1
iload 2
invokespecial jdk.nashorn.internal.runtime.ScriptObject.delete:(IZ)Z
StackMap locals:
StackMap stack: int
2: ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 3 0: dload 1
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(D)I
istore 4
start local 4 1: aload 0
iload 4
iload 3
invokevirtual jdk.nashorn.internal.objects.NativeString.checkDeleteIndex:(IZ)Z
ifeq 2
iconst_0
goto 3
StackMap locals: int
StackMap stack:
2: aload 0
dload 1
iload 3
invokespecial jdk.nashorn.internal.runtime.ScriptObject.delete:(DZ)Z
StackMap locals:
StackMap stack: int
3: ireturn
end local 4 end local 3 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
ldc Ljava/lang/String;
invokestatic jdk.nashorn.internal.runtime.JSType.toPrimitive:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
istore 4
start local 4 2: aload 0
iload 4
iload 2
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
aload 3
iload 2
invokespecial jdk.nashorn.internal.runtime.ScriptObject.delete:(Ljava/lang/Object;Z)Z
StackMap locals:
StackMap stack: int
4: ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
iload 1
invokevirtual jdk.nashorn.internal.objects.NativeString.isValidStringIndex:(I)Z
ifeq 4
1: iload 2
ifeq 3
2: ldc "cant.delete.property"
iconst_2
anewarray java.lang.String
dup
iconst_0
iload 1
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
aastore
dup
iconst_1
aload 0
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: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
invokestatic jdk.nashorn.internal.runtime.arrays.ArrayIndex.getArrayIndex:(Ljava/lang/Object;)I
istore 2
start local 2 1: iload 2
iflt 4
iload 2
aload 0
getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.length:()I
if_icmpge 4
2: invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
astore 3
start local 3 3: aload 3
aload 0
getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
iload 2
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 4: StackMap locals: int
StackMap stack:
aload 0
aload 1
invokespecial jdk.nashorn.internal.runtime.ScriptObject.getOwnPropertyDescriptor:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 1
ldc Ljava/lang/String;
if_acmpeq 2
1: aload 0
aload 1
iload 2
aload 3
invokespecial jdk.nashorn.internal.runtime.ScriptObject.getOwnKeys:(Ljava/lang/Class;ZLjava/util/Set;)[Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 7
5: StackMap locals: java.util.List int
StackMap stack:
aload 4
iload 5
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(I)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
aload 0
getfield jdk.nashorn.internal.objects.NativeString.value:Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.length:()I
if_icmplt 5
end local 5 8: aload 4
aload 0
aload 1
iload 2
aload 3
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: aload 4
aload 1
aload 4
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 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
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 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 start local 1 0: aload 1
arraylength
newarray 5
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 1
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
start local 4 4: aload 2
iload 3
iinc 3 1
aload 4
invokestatic jdk.nashorn.internal.runtime.JSType.toUint16:(Ljava/lang/Object;)I
i2c
castore
end local 4 5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 6
if_icmplt 3
7: new java.lang.String
dup
aload 2
invokespecial java.lang.String.<init>:([C)V
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
instanceof java.lang.Integer
ifeq 2
1: aload 0
aload 1
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: StackMap locals:
StackMap stack:
aload 1
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 end local 0 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 start local 1 0: iload 1
ldc 65535
iand
i2c
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 start local 2 0: new java.lang.StringBuilder
dup
iload 1
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
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 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
iload 1
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
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
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 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: new java.lang.StringBuilder
dup
iload 1
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
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
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
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 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: dload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toUint16:(D)I
i2c
invokestatic java.lang.Character.toString:(C)Ljava/lang/String;
areturn
end local 1 end local 0 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 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.getString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 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 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.getString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
aload 1
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 end local 0 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 start local 1 0: aload 0
dload 1
d2i
invokestatic jdk.nashorn.internal.objects.NativeString.charAt:(Ljava/lang/Object;I)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
iload 1
invokestatic jdk.nashorn.internal.objects.NativeString.charAtImpl:(Ljava/lang/String;I)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 0: iload 1
iflt 1
iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 2
StackMap locals:
StackMap stack:
1: ldc ""
goto 3
StackMap locals:
StackMap stack:
2: aload 0
iload 1
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 end local 0 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 start local 1 0: aload 0
checkcast java.lang.CharSequence
iload 1
invokeinterface java.lang.CharSequence.charAt:(I)C
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.IndexOutOfBoundsException
pop
3: new java.lang.ClassCastException
dup
invokespecial java.lang.ClassCastException.<init>:()V
athrow
end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
istore 3
start local 3 2: iload 3
iflt 3
iload 3
aload 2
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
iload 3
invokevirtual java.lang.String.charAt:(I)C
i2d
StackMap locals:
StackMap stack: double
5: dreturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
dload 1
d2i
invokestatic jdk.nashorn.internal.objects.NativeString.charCodeAt:(Ljava/lang/Object;I)I
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
iload 1
invokestatic jdk.nashorn.internal.objects.NativeString.getValidChar:(Ljava/lang/Object;I)I
ireturn
end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: aload 1
ifnull 7
2: aload 1
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
start local 3 4: new jdk.nashorn.internal.runtime.ConsString
dup
aload 2
aload 3
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
end local 3 5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 3
7: StackMap locals: java.lang.Object java.lang.Object[] java.lang.CharSequence
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
aload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
aload 2
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 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
iconst_0
invokestatic jdk.nashorn.internal.objects.NativeString.indexOf:(Ljava/lang/Object;Ljava/lang/Object;I)I
ireturn
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
dload 2
d2i
invokestatic jdk.nashorn.internal.objects.NativeString.indexOf:(Ljava/lang/Object;Ljava/lang/Object;I)I
ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
aload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
iload 2
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
ireturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 1: aload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
astore 4
start local 4 2: aload 3
invokevirtual java.lang.String.length:()I
istore 5
start local 5 3: aload 2
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
if_acmpne 6
4: iload 5
istore 6
start local 6 5: goto 15
end local 6 6: StackMap locals: java.lang.String java.lang.String int
StackMap stack:
aload 2
invokestatic jdk.nashorn.internal.runtime.JSType.toNumber:(Ljava/lang/Object;)D
dstore 7
start local 7 7: dload 7
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 8
iload 5
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
d2i
StackMap locals:
StackMap stack: int
9: istore 6
start local 6 10: iload 6
ifge 13
11: iconst_0
istore 6
12: 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
iload 5
if_icmple 15
14: iload 5
istore 6
end local 7 15: StackMap locals:
StackMap stack:
aload 3
aload 4
iload 6
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: 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
start local 3 2: aload 3
iconst_3
invokevirtual java.text.Collator.setStrength:(I)V
3: aload 3
iconst_1
invokevirtual java.text.Collator.setDecomposition:(I)V
4: aload 3
aload 2
aload 1
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 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: aload 1
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
if_acmpne 4
2: new jdk.nashorn.internal.objects.NativeRegExp
dup
ldc ""
invokespecial jdk.nashorn.internal.objects.NativeRegExp.<init>:(Ljava/lang/String;)V
astore 3
start local 3 3: goto 5
end local 3 4: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokestatic jdk.nashorn.internal.objects.Global.toRegExp:(Ljava/lang/Object;)Ljdk/nashorn/internal/objects/NativeRegExp;
astore 3
start local 3 5: StackMap locals: jdk.nashorn.internal.objects.NativeRegExp
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.objects.NativeRegExp.getGlobal:()Z
ifne 7
6: aload 3
aload 2
invokevirtual jdk.nashorn.internal.objects.NativeRegExp.exec:(Ljava/lang/String;)Ljdk/nashorn/internal/objects/NativeRegExpExecResult;
areturn
7: StackMap locals:
StackMap stack:
aload 3
iconst_0
invokevirtual jdk.nashorn.internal.objects.NativeRegExp.setLastIndex:(I)V
8: iconst_0
istore 4
start local 4 9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 10: goto 18
start local 6 11: StackMap locals: int java.util.List java.lang.Object
StackMap stack:
aload 3
invokevirtual jdk.nashorn.internal.objects.NativeRegExp.getLastIndex:()I
istore 7
start local 7 12: iload 7
iload 4
if_icmpne 16
13: aload 3
iload 7
iconst_1
iadd
invokevirtual jdk.nashorn.internal.objects.NativeRegExp.setLastIndex:(I)V
14: iload 7
iconst_1
iadd
istore 4
15: goto 17
16: StackMap locals: int
StackMap stack:
iload 7
istore 4
17: StackMap locals:
StackMap stack:
aload 5
aload 6
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 end local 6 18: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual jdk.nashorn.internal.objects.NativeRegExp.exec:(Ljava/lang/String;)Ljdk/nashorn/internal/objects/NativeRegExpExecResult;
dup
astore 6
start local 6 19: ifnonnull 11
20: aload 5
invokeinterface java.util.List.isEmpty:()Z
ifeq 22
21: aconst_null
areturn
22: StackMap locals: java.lang.Object
StackMap stack:
new jdk.nashorn.internal.objects.NativeArray
dup
aload 5
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 1: aload 1
instanceof jdk.nashorn.internal.objects.NativeRegExp
ifeq 4
2: aload 1
checkcast jdk.nashorn.internal.objects.NativeRegExp
astore 4
start local 4 3: goto 5
end local 4 4: StackMap locals: java.lang.String
StackMap stack:
aload 1
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
start local 4 5: StackMap locals: jdk.nashorn.internal.objects.NativeRegExp
StackMap stack:
aload 2
invokestatic jdk.nashorn.internal.runtime.linker.Bootstrap.isCallable:(Ljava/lang/Object;)Z
ifeq 7
6: aload 4
aload 3
ldc ""
aload 2
invokevirtual jdk.nashorn.internal.objects.NativeRegExp.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
aload 4
aload 3
aload 2
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 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: aload 1
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
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
start local 3 4: aload 3
aload 2
invokevirtual jdk.nashorn.internal.objects.NativeRegExp.search:(Ljava/lang/String;)I
ireturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 1: aload 2
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
if_acmpne 3
2: aload 3
aload 1
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: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
aload 2
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 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: iload 1
ifge 2
aload 2
invokevirtual java.lang.String.length:()I
iload 1
iadd
iconst_0
invokestatic java.lang.Math.max:(II)I
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: iload 1
aload 2
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Math.min:(II)I
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: aload 2
iload 3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
dload 1
d2i
invokestatic jdk.nashorn.internal.objects.NativeString.slice:(Ljava/lang/Object;I)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
invokevirtual java.lang.String.length:()I
istore 4
start local 4 2: iload 1
ifge 3
iload 4
iload 1
iadd
iconst_0
invokestatic java.lang.Math.max:(II)I
goto 4
StackMap locals: java.lang.String int
StackMap stack:
3: iload 1
iload 4
invokestatic java.lang.Math.min:(II)I
StackMap locals:
StackMap stack: int
4: istore 5
start local 5 5: iload 2
ifge 6
iload 4
iload 2
iadd
iconst_0
invokestatic java.lang.Math.max:(II)I
goto 7
StackMap locals: int
StackMap stack:
6: iload 2
iload 4
invokestatic java.lang.Math.min:(II)I
StackMap locals:
StackMap stack: int
7: istore 6
start local 6 8: aload 3
iload 5
iload 6
invokestatic java.lang.Math.min:(II)I
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 3 0: aload 0
dload 1
d2i
dload 3
d2i
invokestatic jdk.nashorn.internal.objects.NativeString.slice:(Ljava/lang/Object;II)Ljava/lang/String;
areturn
end local 3 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 1: aload 2
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
invokestatic jdk.nashorn.internal.runtime.JSType.toUint32:(Ljava/lang/Object;)J
StackMap locals:
StackMap stack: long
3: lstore 4
start local 4 4: aload 1
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
if_acmpne 8
5: lload 4
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
aastore
invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
StackMap locals:
StackMap stack: jdk.nashorn.internal.objects.NativeArray
7: areturn
8: StackMap locals:
StackMap stack:
aload 1
instanceof jdk.nashorn.internal.objects.NativeRegExp
ifeq 10
9: aload 1
checkcast jdk.nashorn.internal.objects.NativeRegExp
aload 3
lload 4
invokevirtual jdk.nashorn.internal.objects.NativeRegExp.split:(Ljava/lang/String;J)Ljdk/nashorn/internal/objects/NativeArray;
areturn
10: StackMap locals:
StackMap stack:
aload 3
aload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
lload 4
invokestatic jdk.nashorn.internal.objects.NativeString.splitString:(Ljava/lang/String;Ljava/lang/String;J)Ljdk/nashorn/internal/runtime/ScriptObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 9
1: aload 0
invokevirtual java.lang.String.length:()I
i2l
lload 2
invokestatic java.lang.Math.min:(JJ)J
l2i
istore 4
start local 4 2: iload 4
anewarray java.lang.Object
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 7
5: StackMap locals: int java.lang.Object[] int
StackMap stack:
aload 5
iload 6
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
aastore
6: iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
iload 4
if_icmplt 5
end local 6 8: new jdk.nashorn.internal.objects.NativeArray
dup
aload 5
invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
areturn
end local 5 end local 4 9: StackMap locals:
StackMap stack:
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 4
start local 4 10: aload 0
invokevirtual java.lang.String.length:()I
istore 5
start local 5 11: aload 1
invokevirtual java.lang.String.length:()I
istore 6
start local 6 12: iconst_0
istore 7
start local 7 13: iconst_0
istore 8
start local 8 14: goto 21
15: StackMap locals: java.lang.String java.lang.String long java.util.List int int int int
StackMap stack:
aload 0
aload 1
iload 7
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 9
start local 9 16: iload 9
iconst_m1
if_icmpne 18
17: goto 22
18: StackMap locals: int
StackMap stack:
aload 4
aload 0
iload 7
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: iinc 8 1
20: iload 9
iload 6
iadd
istore 7
end local 9 21: StackMap locals:
StackMap stack:
iload 7
iload 5
if_icmpge 22
iload 8
i2l
lload 2
lcmp
iflt 15
22: StackMap locals:
StackMap stack:
iload 7
iload 5
if_icmpgt 24
iload 8
i2l
lload 2
lcmp
ifge 24
23: aload 4
aload 0
iload 7
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
24: StackMap locals:
StackMap stack:
new jdk.nashorn.internal.objects.NativeArray
dup
aload 4
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
invokevirtual java.lang.String.length:()I
istore 4
start local 4 2: aload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
istore 5
start local 5 3: iload 5
ifge 5
4: iload 5
iload 4
iadd
iconst_0
invokestatic java.lang.Math.max:(II)I
istore 5
5: StackMap locals: java.lang.String int int
StackMap stack:
aload 2
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
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
iload 5
isub
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 8: iload 6
ifgt 9
ldc ""
goto 10
StackMap locals: int
StackMap stack:
9: aload 3
iload 5
iload 5
iload 6
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
10: areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 1: aload 2
getstatic jdk.nashorn.internal.runtime.ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
if_acmpne 3
2: aload 3
aload 1
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: StackMap locals: java.lang.String
StackMap stack:
aload 3
aload 1
invokestatic jdk.nashorn.internal.runtime.JSType.toInteger:(Ljava/lang/Object;)I
aload 2
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 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: iload 1
ifge 3
2: aload 2
areturn
3: StackMap locals: java.lang.String
StackMap stack:
iload 1
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 5
4: ldc ""
areturn
5: StackMap locals:
StackMap stack:
aload 2
iload 1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 0
dload 1
d2i
invokestatic jdk.nashorn.internal.objects.NativeString.substring:(Ljava/lang/Object;I)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 1: aload 3
invokevirtual java.lang.String.length:()I
istore 4
start local 4 2: iload 1
ifge 3
iconst_0
goto 5
StackMap locals: java.lang.String int
StackMap stack:
3: iload 1
iload 4
if_icmple 4
iload 4
goto 5
StackMap locals:
StackMap stack:
4: iload 1
StackMap locals:
StackMap stack: int
5: istore 5
start local 5 6: iload 2
ifge 7
iconst_0
goto 9
StackMap locals: int
StackMap stack:
7: iload 2
iload 4
if_icmple 8
iload 4
goto 9
StackMap locals:
StackMap stack:
8: iload 2
StackMap locals:
StackMap stack: int
9: istore 6
start local 6 10: iload 5
iload 6
if_icmpge 12
11: aload 3
iload 5
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
12: StackMap locals: int
StackMap stack:
aload 3
iload 6
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 3 0: aload 0
dload 1
d2i
dload 3
d2i
invokestatic jdk.nashorn.internal.objects.NativeString.substring:(Ljava/lang/Object;II)Ljava/lang/String;
areturn
end local 3 end local 1 end local 0 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
istore 3
start local 3 3: goto 5
4: StackMap locals: java.lang.String int int
StackMap stack:
iinc 2 1
5: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpgt 8
aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.isJSWhitespace:(C)Z
ifne 4
6: goto 8
7: StackMap locals:
StackMap stack:
iinc 3 -1
8: StackMap locals:
StackMap stack:
iload 3
iload 2
if_icmple 9
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.isJSWhitespace:(C)Z
ifne 7
9: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
istore 3
start local 3 3: goto 5
4: StackMap locals: java.lang.String int int
StackMap stack:
iinc 2 1
5: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpgt 6
aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.isJSWhitespace:(C)Z
ifne 4
6: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokestatic jdk.nashorn.internal.objects.NativeString.checkObjectToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
istore 2
start local 2 2: goto 4
3: StackMap locals: java.lang.String int
StackMap stack:
iinc 2 -1
4: StackMap locals:
StackMap stack:
iload 2
iflt 5
aload 1
iload 2
invokevirtual java.lang.String.charAt:(I)C
invokestatic jdk.nashorn.internal.runtime.ScriptRuntime.isJSWhitespace:(C)Z
ifne 3
5: StackMap locals:
StackMap stack:
aload 1
iconst_0
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 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 0: new jdk.nashorn.internal.objects.NativeString
dup
aload 0
invokespecial jdk.nashorn.internal.objects.NativeString.<init>:(Ljava/lang/CharSequence;)V
areturn
end local 0 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 start local 1 start local 2 0: aload 2
arraylength
ifle 1
aload 2
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
start local 3 3: iload 0
ifeq 4
aload 3
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
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.Object
5: areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: iload 0
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 end local 0 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 start local 1 start local 2 0: aload 2
invokestatic jdk.nashorn.internal.runtime.JSType.toCharSequence:(Ljava/lang/Object;)Ljava/lang/CharSequence;
astore 3
start local 3 1: iload 0
ifeq 2
aload 3
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
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: iload 2
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
astore 3
start local 3 1: iload 0
ifeq 2
aload 3
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
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: dload 2
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(D)Ljava/lang/String;
astore 4
start local 4 1: iload 0
ifeq 2
aload 4
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
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 4 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: iload 2
invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
astore 3
start local 3 1: iload 0
ifeq 2
aload 3
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
StackMap locals:
StackMap stack: java.lang.Object
3: areturn
end local 3 end local 2 end local 1 end local 0 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 0: new jdk.nashorn.internal.objects.StringIterator
dup
aload 0
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 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 start local 1 0: aload 0
invokestatic jdk.nashorn.internal.runtime.linker.NashornGuards.getStringGuard:()Ljava/lang/invoke/MethodHandle;
1: new jdk.nashorn.internal.objects.NativeString
dup
aload 1
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: 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 end local 0 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 0: new jdk.nashorn.internal.objects.NativeString
dup
aload 0
checkcast java.lang.CharSequence
invokespecial jdk.nashorn.internal.objects.NativeString.<init>:(Ljava/lang/CharSequence;)V
areturn
end local 0 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 0: 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 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 0: aload 0
invokestatic jdk.nashorn.internal.runtime.JSType.isString:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
checkcast java.lang.CharSequence
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.nashorn.internal.objects.NativeString
ifeq 4
3: aload 0
checkcast jdk.nashorn.internal.objects.NativeString
invokevirtual jdk.nashorn.internal.objects.NativeString.getValue:()Ljava/lang/CharSequence;
areturn
4: StackMap locals:
StackMap stack:
aload 0
ifnull 6
aload 0
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: ldc ""
areturn
6: StackMap locals:
StackMap stack:
ldc "not.a.string"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
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 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 0: aload 0
instanceof java.lang.String
ifeq 2
1: aload 0
checkcast java.lang.String
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.nashorn.internal.runtime.ConsString
ifeq 4
3: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.nashorn.internal.objects.NativeString
ifeq 6
5: aload 0
checkcast jdk.nashorn.internal.objects.NativeString
invokevirtual jdk.nashorn.internal.objects.NativeString.getStringValue:()Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
aload 0
ifnull 8
aload 0
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: ldc ""
areturn
8: StackMap locals:
StackMap stack:
ldc "not.a.string"
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
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 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 0: aload 0
instanceof java.lang.String
ifeq 2
1: aload 0
checkcast java.lang.String
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof jdk.nashorn.internal.runtime.ConsString
ifeq 4
3: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic jdk.nashorn.internal.objects.Global.checkObjectCoercible:(Ljava/lang/Object;)V
5: aload 0
invokestatic jdk.nashorn.internal.runtime.JSType.toString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 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 start local 1 0: iload 1
iflt 1
iload 1
aload 0
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 end local 0 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 start local 1 0: 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
aload 1
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 end local 0 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 start local 1 0: aload 1
ldc Ljdk/nashorn/internal/objects/NativeString$CharCodeAtLinkLogic;
if_acmpne 2
1: getstatic jdk.nashorn.internal.objects.NativeString$CharCodeAtLinkLogic.INSTANCE:Ljdk/nashorn/internal/objects/NativeString$CharCodeAtLinkLogic;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 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 0: iconst_0
ireturn
end local 0 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")