public class com.oracle.truffle.js.nodes.access.IteratorCloseNode extends com.oracle.truffle.js.nodes.JavaScriptBaseNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.js.nodes.access.IteratorCloseNode
super_class: com.oracle.truffle.js.nodes.JavaScriptBaseNode
{
private com.oracle.truffle.js.nodes.access.GetMethodNode getReturnNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.function.JSFunctionCallNode methodCallNode;
descriptor: Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.access.IsJSObjectNode isObjectNode;
descriptor: Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.js.nodes.JavaScriptNode iteratorNode;
descriptor: Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
protected void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.oracle.truffle.js.nodes.JavaScriptBaseNode.<init>:()V
1: aload 0
aload 1
aconst_null
ldc "return"
invokestatic com.oracle.truffle.js.nodes.access.GetMethodNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
putfield com.oracle.truffle.js.nodes.access.IteratorCloseNode.getReturnNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
2: aload 0
invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode.createCall:()Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
putfield com.oracle.truffle.js.nodes.access.IteratorCloseNode.methodCallNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
3: aload 0
invokestatic com.oracle.truffle.js.nodes.access.IsJSObjectNode.create:()Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
putfield com.oracle.truffle.js.nodes.access.IteratorCloseNode.isObjectNode:Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
4: aload 0
aload 2
putfield com.oracle.truffle.js.nodes.access.IteratorCloseNode.iteratorNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
0 6 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 6 2 iteratorNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
context
iteratorNode
public static com.oracle.truffle.js.nodes.access.IteratorCloseNode create(com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.nodes.access.IteratorCloseNode
dup
aload 0
aconst_null
invokespecial com.oracle.truffle.js.nodes.access.IteratorCloseNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
context
public static com.oracle.truffle.js.nodes.access.IteratorCloseNode create(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.js.nodes.access.IteratorCloseNode
dup
aload 0
aload 1
invokespecial com.oracle.truffle.js.nodes.access.IteratorCloseNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/JavaScriptNode;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 1 iteratorNode Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
context
iteratorNode
public final void executeVoid(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.access.IteratorCloseNode.getReturnNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.GetMethodNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 5
2: aload 0
getfield com.oracle.truffle.js.nodes.access.IteratorCloseNode.methodCallNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.JSArguments.createZeroArg:(Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.js.nodes.access.IteratorCloseNode.isObjectNode:Lcom/oracle/truffle/js/nodes/access/IsJSObjectNode;
aload 3
invokevirtual com.oracle.truffle.js.nodes.access.IsJSObjectNode.executeBoolean:(Ljava/lang/Object;)Z
ifne 5
4: aload 3
aload 0
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorIterResultNotAnObject:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 3 5: StackMap locals: java.lang.Object
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
0 6 1 iterator Lcom/oracle/truffle/api/object/DynamicObject;
1 6 2 returnMethod Ljava/lang/Object;
3 5 3 innerResult Ljava/lang/Object;
MethodParameters:
Name Flags
iterator
public final java.lang.Object execute(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.IteratorCloseNode.executeVoid:(Lcom/oracle/truffle/api/object/DynamicObject;)V
1: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
0 2 1 iterator Lcom/oracle/truffle/api/object/DynamicObject;
0 2 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
iterator
value
public final void executeAbrupt(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.access.IteratorCloseNode.getReturnNode:Lcom/oracle/truffle/js/nodes/access/GetMethodNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.access.GetMethodNode.executeWithTarget:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 5
2: aload 0
getfield com.oracle.truffle.js.nodes.access.IteratorCloseNode.methodCallNode:Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode;
aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.JSArguments.createZeroArg:(Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
invokevirtual com.oracle.truffle.js.nodes.function.JSFunctionCallNode.executeCall:([Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 2 3: goto 5
StackMap locals:
StackMap stack: java.lang.Exception
4: pop
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/nodes/access/IteratorCloseNode;
0 6 1 iterator Lcom/oracle/truffle/api/object/DynamicObject;
1 3 2 returnMethod Ljava/lang/Object;
Exception table:
from to target type
0 3 4 Class java.lang.Exception
MethodParameters:
Name Flags
iterator
}
SourceFile: "IteratorCloseNode.java"
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node