public abstract class GetIteratorNode extends JavaScriptNode
| Modifier and Type | Field and Description |
|---|---|
protected JSContext |
context |
protected PropertyGetNode |
getNextMethodNode |
protected JavaScriptNode |
objectNode |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
GetIteratorNode(JSContext context,
JavaScriptNode objectNode) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static GetIteratorNode |
create(JSContext context) |
static GetIteratorNode |
create(JSContext context,
JavaScriptNode iteratedObject) |
static GetIteratorNode |
createAsync(JSContext context,
JavaScriptNode iteratedObject) |
protected IteratorRecord |
doGetIterator(Object iteratedObject,
IsCallableNode isCallableNode,
JSFunctionCallNode methodCallNode,
IsJSObjectNode isObjectNode) |
abstract IteratorRecord |
execute(Object iteratedObject) |
abstract IteratorRecord |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
protected JSContext |
getContext() |
protected IteratorRecord |
getIterator(Object iteratedObject,
Object method,
IsCallableNode isCallableNode,
JSFunctionCallNode methodCallNode,
IsJSObjectNode isObjectNode) |
static IteratorRecord |
getIterator(Object iteratedObject,
Object method,
JSFunctionCallNode methodCallNode,
IsJSObjectNode isObjectNode,
PropertyGetNode getNextMethodNode,
JavaScriptBaseNode origin) |
protected GetMethodNode |
getIteratorMethodNode() |
static SimpleArrayList<Object> |
iterableToList(Object object,
Object usingIterator,
JSFunctionCallNode iteratorCallNode,
IsJSObjectNode isObjectNode,
IteratorStepNode iteratorStepNode,
IteratorValueNode getIteratorValueNode,
PropertyGetNode getNextMethodNode,
JavaScriptBaseNode origin,
com.oracle.truffle.api.profiles.BranchProfile growProfile) |
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, reportPolymorphicSpecializeprotected JavaScriptNode objectNode
protected PropertyGetNode getNextMethodNode
protected final JSContext context
protected GetIteratorNode(JSContext context, JavaScriptNode objectNode)
public static GetIteratorNode create(JSContext context)
public static GetIteratorNode create(JSContext context, JavaScriptNode iteratedObject)
public static GetIteratorNode createAsync(JSContext context, JavaScriptNode iteratedObject)
protected JSContext getContext()
protected IteratorRecord doGetIterator(Object iteratedObject, IsCallableNode isCallableNode, JSFunctionCallNode methodCallNode, IsJSObjectNode isObjectNode)
protected final IteratorRecord getIterator(Object iteratedObject, Object method, IsCallableNode isCallableNode, JSFunctionCallNode methodCallNode, IsJSObjectNode isObjectNode)
public static IteratorRecord getIterator(Object iteratedObject, Object method, JSFunctionCallNode methodCallNode, IsJSObjectNode isObjectNode, PropertyGetNode getNextMethodNode, JavaScriptBaseNode origin)
public abstract IteratorRecord execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic abstract IteratorRecord execute(Object iteratedObject)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNodeprotected GetMethodNode getIteratorMethodNode()
public static SimpleArrayList<Object> iterableToList(Object object, Object usingIterator, JSFunctionCallNode iteratorCallNode, IsJSObjectNode isObjectNode, IteratorStepNode iteratorStepNode, IteratorValueNode getIteratorValueNode, PropertyGetNode getNextMethodNode, JavaScriptBaseNode origin, com.oracle.truffle.api.profiles.BranchProfile growProfile)