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(JavaScriptNode condition,
JavaScriptNode body) |
static JavaScriptNode |
createDesugaredForAwaitOf(JavaScriptNode condition,
JavaScriptNode body) |
static JavaScriptNode |
createDesugaredForIn(JavaScriptNode condition,
JavaScriptNode body) |
static JavaScriptNode |
createDesugaredForOf(JavaScriptNode condition,
JavaScriptNode body) |
static JavaScriptNode |
createDoWhile(JavaScriptNode condition,
JavaScriptNode body) |
static JavaScriptNode |
createWhileDo(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. |
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, executeSafeInteger, executeString, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecializepublic static JavaScriptNode createWhileDo(JavaScriptNode condition, JavaScriptNode body)
public static JavaScriptNode createDesugaredFor(JavaScriptNode condition, JavaScriptNode body)
public static JavaScriptNode createDesugaredForOf(JavaScriptNode condition, JavaScriptNode body)
public static JavaScriptNode createDesugaredForIn(JavaScriptNode condition, JavaScriptNode body)
public static JavaScriptNode createDesugaredForAwaitOf(JavaScriptNode condition, JavaScriptNode body)
public static JavaScriptNode createDoWhile(JavaScriptNode condition, JavaScriptNode body)
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 JavaScriptNode