public class jdk.nashorn.internal.objects.ArrayIterator extends jdk.nashorn.internal.objects.AbstractIterator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.nashorn.internal.objects.ArrayIterator
super_class: jdk.nashorn.internal.objects.AbstractIterator
{
private static jdk.nashorn.internal.runtime.PropertyMap $nasgenmap$;
descriptor: Ljdk/nashorn/internal/runtime/PropertyMap;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private jdk.nashorn.internal.runtime.ScriptObject iteratedObject;
descriptor: Ljdk/nashorn/internal/runtime/ScriptObject;
flags: (0x0002) ACC_PRIVATE
private long nextIndex;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final jdk.nashorn.internal.objects.AbstractIterator$IterationKind iterationKind;
descriptor: Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.nashorn.internal.objects.Global global;
descriptor: Ljdk/nashorn/internal/objects/Global;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private void <init>(java.lang.Object, jdk.nashorn.internal.objects.AbstractIterator$IterationKind, jdk.nashorn.internal.objects.Global);
descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;Ljdk/nashorn/internal/objects/Global;)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 3
invokevirtual jdk.nashorn.internal.objects.Global.getArrayIteratorPrototype:()Ljdk/nashorn/internal/runtime/ScriptObject;
getstatic jdk.nashorn.internal.objects.ArrayIterator.$nasgenmap$:Ljdk/nashorn/internal/runtime/PropertyMap;
invokespecial jdk.nashorn.internal.objects.AbstractIterator.<init>:(Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/PropertyMap;)V
1: aload 0
lconst_0
putfield jdk.nashorn.internal.objects.ArrayIterator.nextIndex:J
2: aload 0
aload 1
instanceof jdk.nashorn.internal.runtime.ScriptObject
ifeq 3
aload 1
checkcast jdk.nashorn.internal.runtime.ScriptObject
goto 4
StackMap locals: jdk.nashorn.internal.objects.ArrayIterator java.lang.Object jdk.nashorn.internal.objects.AbstractIterator$IterationKind jdk.nashorn.internal.objects.Global
StackMap stack: jdk.nashorn.internal.objects.ArrayIterator
3: aconst_null
StackMap locals: jdk.nashorn.internal.objects.ArrayIterator java.lang.Object jdk.nashorn.internal.objects.AbstractIterator$IterationKind jdk.nashorn.internal.objects.Global
StackMap stack: jdk.nashorn.internal.objects.ArrayIterator jdk.nashorn.internal.runtime.ScriptObject
4: putfield jdk.nashorn.internal.objects.ArrayIterator.iteratedObject:Ljdk/nashorn/internal/runtime/ScriptObject;
5: aload 0
aload 2
putfield jdk.nashorn.internal.objects.ArrayIterator.iterationKind:Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;
6: aload 0
aload 3
putfield jdk.nashorn.internal.objects.ArrayIterator.global:Ljdk/nashorn/internal/objects/Global;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/nashorn/internal/objects/ArrayIterator;
0 8 1 iteratedObject Ljava/lang/Object;
0 8 2 iterationKind Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;
0 8 3 global Ljdk/nashorn/internal/objects/Global;
MethodParameters:
Name Flags
iteratedObject final
iterationKind final
global final
static jdk.nashorn.internal.objects.ArrayIterator newArrayValueIterator(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/objects/ArrayIterator;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new jdk.nashorn.internal.objects.ArrayIterator
dup
aload 0
invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
getstatic jdk.nashorn.internal.objects.AbstractIterator$IterationKind.VALUE:Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;
invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
invokespecial jdk.nashorn.internal.objects.ArrayIterator.<init>:(Ljava/lang/Object;Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;Ljdk/nashorn/internal/objects/Global;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 iteratedObject Ljava/lang/Object;
MethodParameters:
Name Flags
iteratedObject final
static jdk.nashorn.internal.objects.ArrayIterator newArrayKeyIterator(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/objects/ArrayIterator;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new jdk.nashorn.internal.objects.ArrayIterator
dup
aload 0
invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
getstatic jdk.nashorn.internal.objects.AbstractIterator$IterationKind.KEY:Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;
invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
invokespecial jdk.nashorn.internal.objects.ArrayIterator.<init>:(Ljava/lang/Object;Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;Ljdk/nashorn/internal/objects/Global;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 iteratedObject Ljava/lang/Object;
MethodParameters:
Name Flags
iteratedObject final
static jdk.nashorn.internal.objects.ArrayIterator newArrayKeyValueIterator(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/objects/ArrayIterator;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new jdk.nashorn.internal.objects.ArrayIterator
dup
aload 0
invokestatic jdk.nashorn.internal.objects.Global.toObject:(Ljava/lang/Object;)Ljava/lang/Object;
getstatic jdk.nashorn.internal.objects.AbstractIterator$IterationKind.KEY_VALUE:Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;
invokestatic jdk.nashorn.internal.objects.Global.instance:()Ljdk/nashorn/internal/objects/Global;
invokespecial jdk.nashorn.internal.objects.ArrayIterator.<init>:(Ljava/lang/Object;Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;Ljdk/nashorn/internal/objects/Global;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 iteratedObject Ljava/lang/Object;
MethodParameters:
Name Flags
iteratedObject final
public static java.lang.Object next(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof jdk.nashorn.internal.objects.ArrayIterator
ifne 2
1: ldc "not.a.array.iterator"
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
2: StackMap locals:
StackMap stack:
aload 0
checkcast jdk.nashorn.internal.objects.ArrayIterator
aload 1
invokevirtual jdk.nashorn.internal.objects.ArrayIterator.next:(Ljava/lang/Object;)Ljdk/nashorn/internal/objects/IteratorResult;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 self Ljava/lang/Object;
0 3 1 arg Ljava/lang/Object;
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.Function()
MethodParameters:
Name Flags
self final
arg final
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 "Array Iterator"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/objects/ArrayIterator;
protected jdk.nashorn.internal.objects.IteratorResult next(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljdk/nashorn/internal/objects/IteratorResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.objects.ArrayIterator.nextIndex:J
lstore 2
start local 2 1: aload 0
getfield jdk.nashorn.internal.objects.ArrayIterator.iteratedObject:Ljdk/nashorn/internal/runtime/ScriptObject;
ifnull 2
lload 2
aload 0
getfield jdk.nashorn.internal.objects.ArrayIterator.iteratedObject:Ljdk/nashorn/internal/runtime/ScriptObject;
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.getLength:()Ljava/lang/Object;
invokestatic jdk.nashorn.internal.runtime.JSType.toUint32:(Ljava/lang/Object;)J
lcmp
iflt 4
2: StackMap locals: long
StackMap stack:
aload 0
aconst_null
putfield jdk.nashorn.internal.objects.ArrayIterator.iteratedObject:Ljdk/nashorn/internal/runtime/ScriptObject;
3: aload 0
invokestatic jdk.nashorn.internal.runtime.Undefined.getUndefined:()Ljdk/nashorn/internal/runtime/Undefined;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 0
getfield jdk.nashorn.internal.objects.ArrayIterator.global:Ljdk/nashorn/internal/objects/Global;
invokevirtual jdk.nashorn.internal.objects.ArrayIterator.makeResult:(Ljava/lang/Object;Ljava/lang/Boolean;Ljdk/nashorn/internal/objects/Global;)Ljdk/nashorn/internal/objects/IteratorResult;
areturn
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.nashorn.internal.objects.ArrayIterator.nextIndex:J
lconst_1
ladd
putfield jdk.nashorn.internal.objects.ArrayIterator.nextIndex:J
5: aload 0
getfield jdk.nashorn.internal.objects.ArrayIterator.iterationKind:Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;
getstatic jdk.nashorn.internal.objects.AbstractIterator$IterationKind.KEY_VALUE:Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;
if_acmpne 10
6: new jdk.nashorn.internal.objects.NativeArray
dup
7: iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 2
invokestatic jdk.nashorn.internal.runtime.JSType.toNarrowestNumber:(J)Ljava/lang/Number;
aastore
dup
iconst_1
aload 0
getfield jdk.nashorn.internal.objects.ArrayIterator.iteratedObject:Ljdk/nashorn/internal/runtime/ScriptObject;
lload 2
l2d
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(D)Ljava/lang/Object;
aastore
8: invokespecial jdk.nashorn.internal.objects.NativeArray.<init>:([Ljava/lang/Object;)V
astore 4
start local 4 9: aload 0
aload 4
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 0
getfield jdk.nashorn.internal.objects.ArrayIterator.global:Ljdk/nashorn/internal/objects/Global;
invokevirtual jdk.nashorn.internal.objects.ArrayIterator.makeResult:(Ljava/lang/Object;Ljava/lang/Boolean;Ljdk/nashorn/internal/objects/Global;)Ljdk/nashorn/internal/objects/IteratorResult;
areturn
end local 4 10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.objects.ArrayIterator.iterationKind:Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;
getstatic jdk.nashorn.internal.objects.AbstractIterator$IterationKind.KEY:Ljdk/nashorn/internal/objects/AbstractIterator$IterationKind;
if_acmpne 12
11: lload 2
invokestatic jdk.nashorn.internal.runtime.JSType.toNarrowestNumber:(J)Ljava/lang/Number;
goto 13
StackMap locals:
StackMap stack:
12: aload 0
getfield jdk.nashorn.internal.objects.ArrayIterator.iteratedObject:Ljdk/nashorn/internal/runtime/ScriptObject;
lload 2
l2d
invokevirtual jdk.nashorn.internal.runtime.ScriptObject.get:(D)Ljava/lang/Object;
13: StackMap locals:
StackMap stack: java.lang.Object
astore 4
start local 4 14: aload 0
aload 4
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 0
getfield jdk.nashorn.internal.objects.ArrayIterator.global:Ljdk/nashorn/internal/objects/Global;
invokevirtual jdk.nashorn.internal.objects.ArrayIterator.makeResult:(Ljava/lang/Object;Ljava/lang/Boolean;Ljdk/nashorn/internal/objects/Global;)Ljdk/nashorn/internal/objects/IteratorResult;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/nashorn/internal/objects/ArrayIterator;
0 15 1 arg Ljava/lang/Object;
1 15 2 index J
9 10 4 value Ljdk/nashorn/internal/objects/NativeArray;
14 15 4 value Ljava/lang/Object;
MethodParameters:
Name Flags
arg final
}
SourceFile: "ArrayIterator.java"
InnerClasses:
final IterationKind = jdk.nashorn.internal.objects.AbstractIterator$IterationKind of jdk.nashorn.internal.objects.AbstractIterator
RuntimeVisibleAnnotations:
jdk.nashorn.internal.objects.annotations.ScriptClass(value = "ArrayIterator")