public final class com.oracle.truffle.sl.nodes.controlflow.SLWhileNode extends com.oracle.truffle.sl.nodes.SLStatementNode
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.sl.nodes.controlflow.SLWhileNode
super_class: com.oracle.truffle.sl.nodes.SLStatementNode
{
private com.oracle.truffle.api.nodes.LoopNode loopNode;
descriptor: Lcom/oracle/truffle/api/nodes/LoopNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
public void <init>(com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLStatementNode);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLStatementNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 // com.oracle.truffle.sl.nodes.controlflow.SLWhileNode this
start local 1 // com.oracle.truffle.sl.nodes.SLExpressionNode conditionNode
start local 2 // com.oracle.truffle.sl.nodes.SLStatementNode bodyNode
0: .line 55
aload 0 /* this */
invokespecial com.oracle.truffle.sl.nodes.SLStatementNode.<init>:()V
1: .line 56
aload 0 /* this */
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new com.oracle.truffle.sl.nodes.controlflow.SLWhileRepeatingNode
dup
aload 1 /* conditionNode */
aload 2 /* bodyNode */
invokespecial com.oracle.truffle.sl.nodes.controlflow.SLWhileRepeatingNode.<init>:(Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLStatementNode;)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createLoopNode:(Lcom/oracle/truffle/api/nodes/RepeatingNode;)Lcom/oracle/truffle/api/nodes/LoopNode;
putfield com.oracle.truffle.sl.nodes.controlflow.SLWhileNode.loopNode:Lcom/oracle/truffle/api/nodes/LoopNode;
2: .line 57
return
end local 2 // com.oracle.truffle.sl.nodes.SLStatementNode bodyNode
end local 1 // com.oracle.truffle.sl.nodes.SLExpressionNode conditionNode
end local 0 // com.oracle.truffle.sl.nodes.controlflow.SLWhileNode this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/sl/nodes/controlflow/SLWhileNode;
0 3 1 conditionNode Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
0 3 2 bodyNode Lcom/oracle/truffle/sl/nodes/SLStatementNode;
MethodParameters:
Name Flags
conditionNode
bodyNode
public void executeVoid(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // com.oracle.truffle.sl.nodes.controlflow.SLWhileNode this
start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
0: .line 61
aload 0 /* this */
getfield com.oracle.truffle.sl.nodes.controlflow.SLWhileNode.loopNode:Lcom/oracle/truffle/api/nodes/LoopNode;
aload 1 /* frame */
invokevirtual com.oracle.truffle.api.nodes.LoopNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
pop
1: .line 62
return
end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
end local 0 // com.oracle.truffle.sl.nodes.controlflow.SLWhileNode this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/sl/nodes/controlflow/SLWhileNode;
0 2 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
}
SourceFile: "SLWhileNode.java"
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.NodeInfo(shortName = "while", description = "The node implementing a while loop")