public final class SwitchNode extends StatementNode implements ResumableNode.WithObjectState
switch (switchExpression) {
case caseExpression: [statements];
default: [statements]
}
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenResumableNode.WithIntState, ResumableNode.WithObjectStateEMPTYINTERMEDIATE_VALUE| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static SwitchNode |
create(JavaScriptNode[] declarations,
JavaScriptNode[] caseExpressions,
int[] jumptable,
JavaScriptNode[] statements) |
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
Object |
getNodeObject() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
com.oracle.truffle.api.instrumentation.InstrumentableNode |
materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
Object |
resume(com.oracle.truffle.api.frame.VirtualFrame frame,
int stateSlot) |
executeConditionAsBooleanaddCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeLong, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsgetLanguage, getRealm, hasOverloadedOperatorsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeclone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitgetState, getStateAndReset, getStateSlotKind, setStateasResumableNode, createResumableNode, resetStatepublic static SwitchNode create(JavaScriptNode[] declarations, JavaScriptNode[] caseExpressions, int[] jumptable, JavaScriptNode[] statements)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class JavaScriptNodepublic Object getNodeObject()
getNodeObject in interface com.oracle.truffle.api.instrumentation.InstrumentableNodepublic com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
materializeInstrumentableNodes in interface com.oracle.truffle.api.instrumentation.InstrumentableNodepublic Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic Object resume(com.oracle.truffle.api.frame.VirtualFrame frame, int stateSlot)
resume in interface ResumableNodeprotected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode