public class YieldNode extends JavaScriptNode implements ResumableNode, SuspendNode
| Modifier and Type | Class and Description |
|---|---|
static class |
YieldNode.ExceptionYieldResultNode |
static class |
YieldNode.FrameYieldResultNode |
static class |
YieldNode.YieldResultNode |
| Modifier and Type | Field and Description |
|---|---|
protected JavaScriptNode |
expression |
protected JavaScriptNode |
yieldValue |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
YieldNode(JSContext context,
JavaScriptNode expression,
JavaScriptNode yieldValue,
ReturnNode returnNode,
JSWriteFrameSlotNode writeYieldResultNode) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static YieldNode |
createYield(JSContext context,
JavaScriptNode expression,
JavaScriptNode yieldValue,
ReturnNode returnNode,
JSWriteFrameSlotNode writeYieldResultNode) |
static YieldNode |
createYieldStar(JSContext context,
JavaScriptNode expression,
JavaScriptNode yieldValue,
ReturnNode returnNode,
JSWriteFrameSlotNode writeYieldResultNode) |
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
protected Object |
generatorYield(com.oracle.truffle.api.frame.VirtualFrame frame,
com.oracle.truffle.api.object.DynamicObject iterNextObj) |
Object |
resume(com.oracle.truffle.api.frame.VirtualFrame frame) |
protected Object |
returnValue(com.oracle.truffle.api.frame.VirtualFrame frame,
Object value) |
protected Object |
throwValue(Object value) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeLong, executeSafeInteger, executeString, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, hasTag, isInstrumentable, isResultAlwaysOfType, 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, reportPolymorphicSpecializeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetState, getStateAndReset, getStateAsInt, getStateAsIntAndReset, parent, resetState, setStateprotected JavaScriptNode expression
protected JavaScriptNode yieldValue
protected YieldNode(JSContext context, JavaScriptNode expression, JavaScriptNode yieldValue, ReturnNode returnNode, JSWriteFrameSlotNode writeYieldResultNode)
public static YieldNode createYield(JSContext context, JavaScriptNode expression, JavaScriptNode yieldValue, ReturnNode returnNode, JSWriteFrameSlotNode writeYieldResultNode)
public static YieldNode createYieldStar(JSContext context, JavaScriptNode expression, JavaScriptNode yieldValue, ReturnNode returnNode, JSWriteFrameSlotNode writeYieldResultNode)
public Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodprotected final Object generatorYield(com.oracle.truffle.api.frame.VirtualFrame frame, com.oracle.truffle.api.object.DynamicObject iterNextObj)
public Object resume(com.oracle.truffle.api.frame.VirtualFrame frame)
resume in interface ResumableNodeprotected final Object returnValue(com.oracle.truffle.api.frame.VirtualFrame frame, Object value)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode