public class YieldStarNode extends JavaScriptNode implements ResumableNode.WithObjectState
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenResumableNode.WithIntState, ResumableNode.WithObjectState| Modifier and Type | Field and Description |
|---|---|
protected JSContext |
context |
protected JavaScriptNode |
expression |
protected YieldResultNode |
generatorYieldNode |
protected ReturnNode |
returnNode |
protected com.oracle.truffle.api.profiles.ConditionProfile |
returnOrExceptionProfile |
protected int |
stateSlot |
protected JavaScriptNode |
yieldValue |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
YieldStarNode(JSContext context,
int stateSlot,
JavaScriptNode expression,
JavaScriptNode yieldValue,
ReturnNode returnNode,
YieldResultNode yieldResultNode) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
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,
Object iterNextObj) |
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, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, hasTag, 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, resetState, resumeprotected final int stateSlot
protected JavaScriptNode expression
protected JavaScriptNode yieldValue
protected ReturnNode returnNode
protected YieldResultNode generatorYieldNode
protected final JSContext context
protected final com.oracle.truffle.api.profiles.ConditionProfile returnOrExceptionProfile
protected YieldStarNode(JSContext context, int stateSlot, JavaScriptNode expression, JavaScriptNode yieldValue, ReturnNode returnNode, YieldResultNode yieldResultNode)
public Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodprotected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNodeprotected final Object generatorYield(com.oracle.truffle.api.frame.VirtualFrame frame, Object iterNextObj)