Class AbstractGeneratorBlockNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.JavaScriptNode
com.oracle.truffle.js.nodes.control.StatementNode
com.oracle.truffle.js.nodes.control.AbstractBlockNode
com.oracle.truffle.js.nodes.control.AbstractGeneratorBlockNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.BlockNode.ElementExecutor<JavaScriptNode>, com.oracle.truffle.api.nodes.NodeInterface, SequenceNode, Cloneable
- Direct Known Subclasses:
GeneratorExprBlockNode, GeneratorVoidBlockNode
-
Nested Class Summary
Nested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Field Summary
FieldsFields inherited from class AbstractBlockNode
blockFields inherited from class StatementNode
EMPTYFields inherited from class JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractGeneratorBlockNode(JavaScriptNode[] statements, int stateSlot) -
Method Summary
Modifier and TypeMethodDescriptionexecute(com.oracle.truffle.api.frame.VirtualFrame frame) Executes this node using the specified context and frame and returns the result value.executeGeneric(com.oracle.truffle.api.frame.VirtualFrame frame, JavaScriptNode node, int index, int startIndex) voidexecuteVoid(com.oracle.truffle.api.frame.VirtualFrame frame) LikeJavaScriptNode.execute(VirtualFrame)except that it throws away the result.voidexecuteVoid(com.oracle.truffle.api.frame.VirtualFrame frame, JavaScriptNode node, int index, int startIndex) protected final intgetStateAndReset(com.oracle.truffle.api.frame.VirtualFrame frame) protected final voidsetState(com.oracle.truffle.api.frame.VirtualFrame frame, int index) Methods inherited from class AbstractBlockNode
filterStatements, getStatements, newListFromRangeMethods inherited from class StatementNode
executeConditionAsBooleanMethods inherited from class JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, copyUninitialized, createWrapper, executeBoolean, executeDouble, executeInt, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, hasTag, isInstrumentable, isResultAlwaysOfType, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplaceMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.nodes.BlockNode.ElementExecutor
executeBoolean, executeByte, executeChar, executeDouble, executeFloat, executeInt, executeLong, executeShortMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe, getNodeObject, materializeInstrumentableNodes
-
Field Details
-
stateSlot
protected final int stateSlot
-
-
Constructor Details
-
AbstractGeneratorBlockNode
-
-
Method Details
-
getStateAndReset
protected final int getStateAndReset(com.oracle.truffle.api.frame.VirtualFrame frame) -
setState
protected final void setState(com.oracle.truffle.api.frame.VirtualFrame frame, int index) -
executeVoid
public void executeVoid(com.oracle.truffle.api.frame.VirtualFrame frame) Description copied from class:JavaScriptNodeLikeJavaScriptNode.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.- Overrides:
executeVoidin classAbstractBlockNode- Parameters:
frame- the frame of the currently executing guest language method
-
execute
Description copied from class:JavaScriptNodeExecutes this node using the specified context and frame and returns the result value.- Overrides:
executein classAbstractBlockNode- Parameters:
frame- the frame of the currently executing guest language method- Returns:
- the value of the execution
-
executeVoid
public void executeVoid(com.oracle.truffle.api.frame.VirtualFrame frame, JavaScriptNode node, int index, int startIndex) - Specified by:
executeVoidin interfacecom.oracle.truffle.api.nodes.BlockNode.ElementExecutor<JavaScriptNode>- Overrides:
executeVoidin classAbstractBlockNode
-
executeGeneric
public Object executeGeneric(com.oracle.truffle.api.frame.VirtualFrame frame, JavaScriptNode node, int index, int startIndex) - Specified by:
executeGenericin interfacecom.oracle.truffle.api.nodes.BlockNode.ElementExecutor<JavaScriptNode>- Overrides:
executeGenericin classAbstractBlockNode
-