public final class com.oracle.truffle.sl.nodes.controlflow.SLIfNode 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.SLIfNode
super_class: com.oracle.truffle.sl.nodes.SLStatementNode
{
private com.oracle.truffle.sl.nodes.SLExpressionNode conditionNode;
descriptor: Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.sl.nodes.SLStatementNode thenPartNode;
descriptor: Lcom/oracle/truffle/sl/nodes/SLStatementNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.sl.nodes.SLStatementNode elsePartNode;
descriptor: Lcom/oracle/truffle/sl/nodes/SLStatementNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final com.oracle.truffle.api.profiles.ConditionProfile condition;
descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(com.oracle.truffle.sl.nodes.SLExpressionNode, com.oracle.truffle.sl.nodes.SLStatementNode, com.oracle.truffle.sl.nodes.SLStatementNode);
descriptor: (Lcom/oracle/truffle/sl/nodes/SLExpressionNode;Lcom/oracle/truffle/sl/nodes/SLStatementNode;Lcom/oracle/truffle/sl/nodes/SLStatementNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tThe import com.oracle.truffle.sl.nodes.util.SLUnboxNodeGen cannot be resolved\n\tSLUnboxNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/sl/nodes/controlflow/SLIfNode;
MethodParameters:
Name Flags
conditionNode
thenPartNode
elsePartNode
public void executeVoid(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.sl.nodes.controlflow.SLIfNode.condition:Lcom/oracle/truffle/api/profiles/ConditionProfile;
aload 0
aload 1
invokevirtual com.oracle.truffle.sl.nodes.controlflow.SLIfNode.evaluateCondition:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 3
1: aload 0
getfield com.oracle.truffle.sl.nodes.controlflow.SLIfNode.thenPartNode:Lcom/oracle/truffle/sl/nodes/SLStatementNode;
aload 1
invokevirtual com.oracle.truffle.sl.nodes.SLStatementNode.executeVoid:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
2: goto 5
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.sl.nodes.controlflow.SLIfNode.elsePartNode:Lcom/oracle/truffle/sl/nodes/SLStatementNode;
ifnull 5
4: aload 0
getfield com.oracle.truffle.sl.nodes.controlflow.SLIfNode.elsePartNode:Lcom/oracle/truffle/sl/nodes/SLStatementNode;
aload 1
invokevirtual com.oracle.truffle.sl.nodes.SLStatementNode.executeVoid:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
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/sl/nodes/controlflow/SLIfNode;
0 6 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
private boolean evaluateCondition(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.sl.nodes.controlflow.SLIfNode.conditionNode:Lcom/oracle/truffle/sl/nodes/SLExpressionNode;
aload 1
invokevirtual com.oracle.truffle.sl.nodes.SLExpressionNode.executeBoolean:(Lcom/oracle/truffle/api/frame/VirtualFrame;)Z
1: ireturn
2: StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
astore 2
start local 2 3: aload 0
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
aastore
invokestatic com.oracle.truffle.sl.SLException.typeError:(Lcom/oracle/truffle/api/nodes/Node;[Ljava/lang/Object;)Lcom/oracle/truffle/sl/SLException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/sl/nodes/controlflow/SLIfNode;
0 4 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
3 4 2 ex Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.nodes.UnexpectedResultException
MethodParameters:
Name Flags
frame
}
SourceFile: "SLIfNode.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 = "if", description = "The node implementing a condional statement")