Class CompoundWriteElementNode
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.JSTargetableNode
com.oracle.truffle.js.nodes.access.WriteElementNode
com.oracle.truffle.js.nodes.access.CompoundWriteElementNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,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 com.oracle.truffle.js.nodes.access.WriteElementNode
indexNode, targetNode, valueNodeFields inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCompoundWriteElementNode(JavaScriptNode targetNode, JavaScriptNode indexNode, JavaScriptNode valueNode, JSWriteFrameSlotNode writeIndexNode, JSContext context, boolean isStrict, boolean writeOwn) -
Method Summary
Modifier and TypeMethodDescriptionprotected JavaScriptNodecopyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) static CompoundWriteElementNodecreate(JavaScriptNode targetNode, JavaScriptNode indexNode, JavaScriptNode valueNode, JSWriteFrameSlotNode writeIndexNode, JSContext context, boolean isStrict) protected WriteElementNodecreateMaterialized(JavaScriptNode newTarget, JavaScriptNode newIndex, JavaScriptNode newValue) protected ObjectexecuteWithTargetAndIndex(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, int index, Object receiver) protected ObjectexecuteWithTargetAndIndex(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, Object index, Object receiver) protected doubleexecuteWithTargetAndIndexDouble(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, int index, Object receiver) protected doubleexecuteWithTargetAndIndexDouble(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, Object index, Object receiver) protected intexecuteWithTargetAndIndexInt(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, int index, Object receiver) protected intexecuteWithTargetAndIndexInt(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, Object index, Object receiver) Methods inherited from class com.oracle.truffle.js.nodes.access.WriteElementNode
create, create, create, createCachedInterop, evaluateTarget, execute, executeDouble, executeInt, executeWithTarget, executeWithTarget, executeWithTargetAndIndexAndValue, executeWithTargetAndIndexAndValue, executeWithTargetAndIndexAndValue, executeWithTargetAndIndexAndValue, executeWithTargetAndIndexAndValue, executeWithTargetAndIndexAndValue, executeWithTargetDouble, executeWithTargetInt, getContext, getElement, getTarget, getValue, hasTag, isResultAlwaysOfType, isStrict, materializeInstrumentableNodes, writeOwnMethods inherited from class com.oracle.truffle.js.nodes.access.JSTargetableNode
createWrapper, evaluateReceiver, executeDoubleWithTarget, executeIntWithTarget, expressionToStringMethods inherited from class com.oracle.truffle.js.nodes.JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, executeBoolean, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, 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
-
Constructor Details
-
CompoundWriteElementNode
protected CompoundWriteElementNode(JavaScriptNode targetNode, JavaScriptNode indexNode, JavaScriptNode valueNode, JSWriteFrameSlotNode writeIndexNode, JSContext context, boolean isStrict, boolean writeOwn)
-
-
Method Details
-
create
public static CompoundWriteElementNode create(JavaScriptNode targetNode, JavaScriptNode indexNode, JavaScriptNode valueNode, JSWriteFrameSlotNode writeIndexNode, JSContext context, boolean isStrict) -
executeWithTargetAndIndex
protected Object executeWithTargetAndIndex(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, Object index, Object receiver) - Overrides:
executeWithTargetAndIndexin classWriteElementNode
-
executeWithTargetAndIndex
protected Object executeWithTargetAndIndex(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, int index, Object receiver) - Overrides:
executeWithTargetAndIndexin classWriteElementNode
-
executeWithTargetAndIndexInt
protected int executeWithTargetAndIndexInt(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, Object index, Object receiver) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeWithTargetAndIndexIntin classWriteElementNode- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeWithTargetAndIndexInt
protected int executeWithTargetAndIndexInt(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, int index, Object receiver) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeWithTargetAndIndexIntin classWriteElementNode- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeWithTargetAndIndexDouble
protected double executeWithTargetAndIndexDouble(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, Object index, Object receiver) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeWithTargetAndIndexDoublein classWriteElementNode- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
executeWithTargetAndIndexDouble
protected double executeWithTargetAndIndexDouble(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, int index, Object receiver) throws com.oracle.truffle.api.nodes.UnexpectedResultException - Overrides:
executeWithTargetAndIndexDoublein classWriteElementNode- Throws:
com.oracle.truffle.api.nodes.UnexpectedResultException
-
copyUninitialized
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) - Overrides:
copyUninitializedin classWriteElementNode
-
createMaterialized
protected WriteElementNode createMaterialized(JavaScriptNode newTarget, JavaScriptNode newIndex, JavaScriptNode newValue) - Overrides:
createMaterializedin classWriteElementNode
-