Class ForEachIndexCallNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.access.ForEachIndexCallNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
- Direct Known Subclasses:
ForEachIndexCallNode.BackwardForEachIndexCallNode,ForEachIndexCallNode.ForwardForEachIndexCallNode
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final classstatic classprotected static final classstatic final classstatic classNested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final booleanprotected final JSContextprotected final com.oracle.truffle.api.profiles.LoopConditionProfileprotected ForEachIndexCallNode.MaybeResultNodeprotected final com.oracle.truffle.api.profiles.BranchProfileprotected final JSClassProfile -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedForEachIndexCallNode(JSContext context, ForEachIndexCallNode.CallbackNode callbackArgumentsNode, ForEachIndexCallNode.MaybeResultNode maybeResultNode, boolean checkHasProperty) -
Method Summary
Modifier and TypeMethodDescriptionprotected final Objectcallback(long index, Object value, Object target, Object callback, Object callbackThisArg, Object currentResult) static ForEachIndexCallNodecreate(JSContext context, ForEachIndexCallNode.CallbackNode callbackArgumentsNode, ForEachIndexCallNode.MaybeResultNode maybeResultNode, boolean forward, boolean checkHasProperty) final ObjectexecuteForEachIndex(Object target, Object callback, Object callbackThisArg, long fromIndex, long length, Object initialResult) protected abstract ObjectexecuteForEachIndexFast(JSDynamicObject target, Object callback, Object callbackThisArg, long fromIndex, long length, Object initialResult) protected abstract ObjectexecuteForEachIndexSlow(Object target, Object callback, Object callbackThisArg, long fromIndex, long length, Object initialResult) protected final longfirstElementIndex(JSDynamicObject target, long length) protected ObjectforeignRead(Object target, long index, boolean isForeignArray) protected ObjectgetElement(Object target, long index, boolean isForeign, boolean isForeignArray) protected final com.oracle.truffle.api.interop.InteropLibraryprotected final booleanhasProperty(Object target, long index) protected final booleanisOutOfBounds(Object view) protected final longlastElementIndex(JSDynamicObject target, long length) protected final ObjectreadElementInBounds(JSDynamicObject target, long index) Methods inherited from class com.oracle.truffle.js.nodes.JavaScriptBaseNode
copy, getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, onReplace, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplace, toString
-
Field Details
-
targetClassProfile
-
loopCond
protected final com.oracle.truffle.api.profiles.LoopConditionProfile loopCond -
outOfBoundsBranch
protected final com.oracle.truffle.api.profiles.BranchProfile outOfBoundsBranch -
maybeResultNode
-
context
-
checkHasProperty
protected final boolean checkHasProperty
-
-
Constructor Details
-
ForEachIndexCallNode
protected ForEachIndexCallNode(JSContext context, ForEachIndexCallNode.CallbackNode callbackArgumentsNode, ForEachIndexCallNode.MaybeResultNode maybeResultNode, boolean checkHasProperty)
-
-
Method Details
-
create
public static ForEachIndexCallNode create(JSContext context, ForEachIndexCallNode.CallbackNode callbackArgumentsNode, ForEachIndexCallNode.MaybeResultNode maybeResultNode, boolean forward, boolean checkHasProperty) -
executeForEachIndex
-
executeForEachIndexFast
protected abstract Object executeForEachIndexFast(JSDynamicObject target, Object callback, Object callbackThisArg, long fromIndex, long length, Object initialResult) -
executeForEachIndexSlow
-
firstElementIndex
-
lastElementIndex
-
getInterop
protected final com.oracle.truffle.api.interop.InteropLibrary getInterop() -
foreignRead
-
getElement
-
isOutOfBounds
-
callback
-
readElementInBounds
-
hasProperty
-