Class GeneratorExprBlockNode
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
com.oracle.truffle.js.nodes.control.GeneratorExprBlockNode
- 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
-
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
Fields inherited from class AbstractGeneratorBlockNode
stateSlotFields inherited from class AbstractBlockNode
blockFields inherited from class StatementNode
EMPTYFields inherited from class JavaScriptNode
INTERMEDIATE_VALUE -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static JavaScriptNodecreate(JavaScriptNode[] statements, int stateSlot) booleanexecuteBoolean(com.oracle.truffle.api.frame.VirtualFrame frame) LikeJavaScriptNode.execute(VirtualFrame)except that it tries to convert the result value to a boolean.booleanexecuteBoolean(com.oracle.truffle.api.frame.VirtualFrame frame, JavaScriptNode node, int index, int argument) doubleexecuteDouble(com.oracle.truffle.api.frame.VirtualFrame frame) LikeJavaScriptNode.execute(VirtualFrame)except that it tries to convert the result value to a double.doubleexecuteDouble(com.oracle.truffle.api.frame.VirtualFrame frame, JavaScriptNode node, int index, int argument) intexecuteInt(com.oracle.truffle.api.frame.VirtualFrame frame) LikeJavaScriptNode.execute(VirtualFrame)except that it tries to convert the result value to an int.intexecuteInt(com.oracle.truffle.api.frame.VirtualFrame frame, JavaScriptNode node, int index, int argument) Methods inherited from class AbstractGeneratorBlockNode
execute, executeGeneric, executeVoid, executeVoid, getStateAndReset, setStateMethods inherited from class AbstractBlockNode
filterStatements, getStatements, newListFromRangeMethods inherited from class StatementNode
executeConditionAsBooleanMethods inherited from class JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, 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
executeByte, executeChar, executeFloat, executeLong, executeShortMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe, getNodeObject, materializeInstrumentableNodes
-
Method Details
-
create
-
executeBoolean
public boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException Description copied from class:JavaScriptNodeLikeJavaScriptNode.execute(VirtualFrame)except that it tries to convert the result value to a boolean. A node can override this method if it has a better way to producing a value of type boolean.- Overrides:
executeBooleanin classJavaScriptNode- Parameters:
frame- the frame of the currently executing guest language method- Returns:
- the value of the execution as a boolean
- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException- if a loss-free conversion of the result to double is not possible
-
executeInt
public int executeInt(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException Description copied from class:JavaScriptNodeLikeJavaScriptNode.execute(VirtualFrame)except that it tries to convert the result value to an int. A node can override this method if it has a better way to producing a value of type int.- Overrides:
executeIntin classJavaScriptNode- Parameters:
frame- the frame of the currently executing guest language method- Returns:
- the value of the execution as an int
- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException- if a loss-free conversion of the result to int is not possible
-
executeDouble
public double executeDouble(com.oracle.truffle.api.frame.VirtualFrame frame) throws com.oracle.truffle.api.nodes.UnexpectedResultException Description copied from class:JavaScriptNodeLikeJavaScriptNode.execute(VirtualFrame)except that it tries to convert the result value to a double. A node can override this method if it has a better way to producing a value of type double.- Overrides:
executeDoublein classJavaScriptNode- Parameters:
frame- the frame of the currently executing guest language method- Returns:
- the value of the execution as a double
- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException- if a loss-free conversion of the result to double is not possible
-
executeBoolean
public boolean executeBoolean(com.oracle.truffle.api.frame.VirtualFrame frame, JavaScriptNode node, int index, int argument) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeInt
public int executeInt(com.oracle.truffle.api.frame.VirtualFrame frame, JavaScriptNode node, int index, int argument) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeDouble
public double executeDouble(com.oracle.truffle.api.frame.VirtualFrame frame, JavaScriptNode node, int index, int argument) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
copyUninitialized
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Overrides:
copyUninitializedin classJavaScriptNode
-