public final class com.oracle.truffle.js.nodes.control.BreakNode extends com.oracle.truffle.js.nodes.control.StatementNode
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.nodes.control.BreakNode
super_class: com.oracle.truffle.js.nodes.control.StatementNode
{
private final com.oracle.truffle.js.nodes.control.BreakException breakException;
descriptor: Lcom/oracle/truffle/js/nodes/control/BreakException;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.oracle.truffle.js.nodes.control.BreakTarget);
descriptor: (Lcom/oracle/truffle/js/nodes/control/BreakTarget;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.oracle.truffle.js.nodes.control.StatementNode.<init>:()V
1: aload 0
aload 1
invokevirtual com.oracle.truffle.js.nodes.control.BreakTarget.getBreakException:()Lcom/oracle/truffle/js/nodes/control/BreakException;
putfield com.oracle.truffle.js.nodes.control.BreakNode.breakException:Lcom/oracle/truffle/js/nodes/control/BreakException;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/control/BreakNode;
0 3 1 breakTarget Lcom/oracle/truffle/js/nodes/control/BreakTarget;
MethodParameters:
Name Flags
breakTarget
public static com.oracle.truffle.js.nodes.control.BreakNode create(com.oracle.truffle.js.nodes.control.BreakTarget);
descriptor: (Lcom/oracle/truffle/js/nodes/control/BreakTarget;)Lcom/oracle/truffle/js/nodes/control/BreakNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.nodes.control.BreakNode
dup
aload 0
invokespecial com.oracle.truffle.js.nodes.control.BreakNode.<init>:(Lcom/oracle/truffle/js/nodes/control/BreakTarget;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 breakTarget Lcom/oracle/truffle/js/nodes/control/BreakTarget;
MethodParameters:
Name Flags
breakTarget
public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowBranchTag;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.oracle.truffle.js.nodes.control.StatementNode.hasTag:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/nodes/control/BreakNode;
0 3 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
MethodParameters:
Name Flags
tag
public java.lang.Object getNodeObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "type"
getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBranchTag$Type.Break:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowBranchTag$Type;
invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBranchTag$Type.name:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.nodes.instrumentation.JSTags.createNodeObjectDescriptor:(Ljava/lang/String;Ljava/lang/Object;)Lcom/oracle/truffle/js/nodes/instrumentation/NodeObjectDescriptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/control/BreakNode;
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.control.BreakNode.breakException:Lcom/oracle/truffle/js/nodes/control/BreakException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/control/BreakNode;
0 1 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
public void executeVoid(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.nodes.control.BreakNode.breakException:Lcom/oracle/truffle/js/nodes/control/BreakException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/control/BreakNode;
0 1 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
MethodParameters:
Name Flags
frame
public boolean isDirectBreak();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.nodes.control.BreakNode.breakException:Lcom/oracle/truffle/js/nodes/control/BreakException;
instanceof com.oracle.truffle.js.nodes.control.DirectBreakException
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/control/BreakNode;
protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.nodes.control.BreakNode.copy:()Lcom/oracle/truffle/js/nodes/JavaScriptNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/control/BreakNode;
0 1 1 materializedTags Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
MethodParameters:
Name Flags
materializedTags
public boolean isResultAlwaysOfType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/nodes/control/BreakNode;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
}
SourceFile: "BreakNode.java"
InnerClasses:
public final ControlFlowBranchTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBranchTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final Type = com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBranchTag$Type of com.oracle.truffle.js.nodes.instrumentation.JSTags$ControlFlowBranchTag
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.NodeInfo(shortName = "break")