public abstract class EnumerateNode extends JavaScriptNode
| Modifier and Type | Field and Description |
|---|---|
protected JSContext |
context |
protected JavaScriptNode |
targetNode |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
EnumerateNode(JSContext context,
boolean values,
boolean requireIterable,
JavaScriptNode targetNode) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static EnumerateNode |
create(JSContext context,
boolean values,
boolean requireIterable) |
static EnumerateNode |
create(JSContext context,
JavaScriptNode target,
boolean values) |
protected com.oracle.truffle.api.object.DynamicObject |
doEnumerateJSAdapter(com.oracle.truffle.api.object.DynamicObject iteratedObject,
EnumerateNode enumerateCallbackResultNode) |
protected com.oracle.truffle.api.object.DynamicObject |
doEnumerateObject(com.oracle.truffle.api.object.DynamicObject iteratedObject,
com.oracle.truffle.api.profiles.ConditionProfile isObject) |
protected com.oracle.truffle.api.object.DynamicObject |
doEnumerateTruffleObject(Object iteratedObject,
com.oracle.truffle.api.interop.InteropLibrary interop,
com.oracle.truffle.api.interop.InteropLibrary keysInterop,
com.oracle.truffle.api.profiles.BranchProfile notIterable) |
protected com.oracle.truffle.api.object.DynamicObject |
doNonObject(Object iteratedObject,
JSToObjectNode toObjectNode,
EnumerateNode enumerateNode) |
abstract com.oracle.truffle.api.object.DynamicObject |
execute(Object iteratedObject) |
abstract com.oracle.truffle.api.object.DynamicObject |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result 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, reportPolymorphicSpecializeprotected final JSContext context
protected JavaScriptNode targetNode
protected EnumerateNode(JSContext context, boolean values, boolean requireIterable, JavaScriptNode targetNode)
public static EnumerateNode create(JSContext context, JavaScriptNode target, boolean values)
public static EnumerateNode create(JSContext context, boolean values, boolean requireIterable)
public abstract com.oracle.truffle.api.object.DynamicObject execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic abstract com.oracle.truffle.api.object.DynamicObject execute(Object iteratedObject)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNodeprotected com.oracle.truffle.api.object.DynamicObject doEnumerateObject(com.oracle.truffle.api.object.DynamicObject iteratedObject,
com.oracle.truffle.api.profiles.ConditionProfile isObject)
protected com.oracle.truffle.api.object.DynamicObject doEnumerateJSAdapter(com.oracle.truffle.api.object.DynamicObject iteratedObject,
EnumerateNode enumerateCallbackResultNode)
protected com.oracle.truffle.api.object.DynamicObject doEnumerateTruffleObject(Object iteratedObject, com.oracle.truffle.api.interop.InteropLibrary interop, com.oracle.truffle.api.interop.InteropLibrary keysInterop, com.oracle.truffle.api.profiles.BranchProfile notIterable)
protected com.oracle.truffle.api.object.DynamicObject doNonObject(Object iteratedObject, JSToObjectNode toObjectNode, EnumerateNode enumerateNode)