Class EnumerateNode
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.access.EnumerateNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
Returns an Iterator object iterating over the enumerable properties of an object.
-
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 com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedEnumerateNode(JSContext context, boolean values, boolean requireIterable, JavaScriptNode targetNode) -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static EnumerateNodestatic EnumerateNodecreate(JSContext context, JavaScriptNode target, boolean values) protected JSObjectdoEnumerateJSAdapter(JSObject iteratedObject, EnumerateNode enumerateCallbackResultNode) protected JSObjectdoEnumerateNullOrUndefined(Object iteratedObject) protected JSObjectdoEnumerateObject(JSObject iteratedObject) protected JSObjectdoEnumerateTruffleObject(Object iteratedObject, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.interop.InteropLibrary interop, com.oracle.truffle.api.interop.InteropLibrary keysInterop, com.oracle.truffle.api.profiles.InlinedBranchProfile notIterable, com.oracle.truffle.api.strings.TruffleString.SwitchEncodingNode switchEncoding) protected JSObjectdoNonObject(Object iteratedObject, JSToObjectNode toObjectNode, EnumerateNode enumerateNode) abstract JSObjectexecute(com.oracle.truffle.api.frame.VirtualFrame frame) Executes this node using the specified context and frame and returns the result value.abstract JSObjectMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, hasTag, isInstrumentable, isResultAlwaysOfType, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperatorsMethods 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, reportPolymorphicSpecializeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
findNearestNodeAt, findNearestNodeAt, getNodeObject, materializeInstrumentableNodes
-
Field Details
-
context
-
targetNode
-
-
Constructor Details
-
EnumerateNode
protected EnumerateNode(JSContext context, boolean values, boolean requireIterable, JavaScriptNode targetNode)
-
-
Method Details
-
create
-
create
-
execute
Description copied from class:JavaScriptNodeExecutes this node using the specified context and frame and returns the result value.- Specified by:
executein classJavaScriptNode- Parameters:
frame- the frame of the currently executing guest language method- Returns:
- the value of the execution
-
execute
-
copyUninitialized
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Overrides:
copyUninitializedin classJavaScriptNode
-
doEnumerateObject
-
doEnumerateNullOrUndefined
-
doEnumerateJSAdapter
protected JSObject doEnumerateJSAdapter(JSObject iteratedObject, EnumerateNode enumerateCallbackResultNode) -
doEnumerateTruffleObject
protected JSObject doEnumerateTruffleObject(Object iteratedObject, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.interop.InteropLibrary interop, com.oracle.truffle.api.interop.InteropLibrary keysInterop, com.oracle.truffle.api.profiles.InlinedBranchProfile notIterable, com.oracle.truffle.api.strings.TruffleString.SwitchEncodingNode switchEncoding) -
doNonObject
protected JSObject doNonObject(Object iteratedObject, JSToObjectNode toObjectNode, EnumerateNode enumerateNode)
-