public final class WhileNode extends StatementNode
EMPTYINTERMEDIATE_VALUE| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static JavaScriptNode |
createDesugaredFor(com.oracle.truffle.api.nodes.LoopNode loopNode) |
static JavaScriptNode |
createDesugaredForAwaitOf(com.oracle.truffle.api.nodes.LoopNode loopNode) |
static JavaScriptNode |
createDesugaredForIn(com.oracle.truffle.api.nodes.LoopNode loopNode) |
static JavaScriptNode |
createDesugaredForOf(com.oracle.truffle.api.nodes.LoopNode loopNode) |
static JavaScriptNode |
createDoWhile(com.oracle.truffle.api.nodes.LoopNode loopNode) |
static com.oracle.truffle.api.nodes.RepeatingNode |
createDoWhileRepeatingNode(JavaScriptNode condition,
JavaScriptNode body) |
static JavaScriptNode |
createWhileDo(com.oracle.truffle.api.nodes.LoopNode loopNode) |
static com.oracle.truffle.api.nodes.RepeatingNode |
createWhileDoRepeatingNode(JavaScriptNode condition,
JavaScriptNode body) |
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
void |
executeVoid(com.oracle.truffle.api.frame.VirtualFrame frame)
Like
JavaScriptNode.execute(VirtualFrame) except that it throws away the result. |
com.oracle.truffle.api.nodes.LoopNode |
getLoopNode() |
Object |
getNodeObject() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
com.oracle.truffle.api.instrumentation.InstrumentableNode |
materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
executeConditionAsBooleanaddCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeLong, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, 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, reportPolymorphicSpecializepublic static com.oracle.truffle.api.nodes.RepeatingNode createWhileDoRepeatingNode(JavaScriptNode condition, JavaScriptNode body)
public static JavaScriptNode createWhileDo(com.oracle.truffle.api.nodes.LoopNode loopNode)
public static JavaScriptNode createDesugaredFor(com.oracle.truffle.api.nodes.LoopNode loopNode)
public static JavaScriptNode createDesugaredForOf(com.oracle.truffle.api.nodes.LoopNode loopNode)
public static JavaScriptNode createDesugaredForIn(com.oracle.truffle.api.nodes.LoopNode loopNode)
public static JavaScriptNode createDesugaredForAwaitOf(com.oracle.truffle.api.nodes.LoopNode loopNode)
public static com.oracle.truffle.api.nodes.RepeatingNode createDoWhileRepeatingNode(JavaScriptNode condition, JavaScriptNode body)
public static JavaScriptNode createDoWhile(com.oracle.truffle.api.nodes.LoopNode loopNode)
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()
public com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNodepublic Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic void executeVoid(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeJavaScriptNode.execute(VirtualFrame) except that it throws away the result. A node can
override this method if it has a better way to execute without producing a value.executeVoid in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType in class JavaScriptNodepublic com.oracle.truffle.api.nodes.LoopNode getLoopNode()