Class SLWritePropertyNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.sl.nodes.local.SLScopedNode
com.oracle.truffle.sl.nodes.SLStatementNode
com.oracle.truffle.sl.nodes.SLExpressionNode
com.oracle.truffle.sl.nodes.expression.SLWritePropertyNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
The node for writing a property of an object. When executed, this node:
- evaluates the object expression on the left hand side of the object access operator
- evaluates the property name
- evaluates the value expression on the right hand side of the assignment operator
- writes the named property
- returns the written value
-
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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisSLObject(Object receiver) static ObjectwriteArray(Object receiver, Object index, Object value, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.interop.InteropLibrary arrays, com.oracle.truffle.api.interop.InteropLibrary numbers) static ObjectwriteObject(Object receiver, Object name, Object value, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.interop.InteropLibrary objectLibrary, SLToMemberNode asMember) static ObjectwriteSLObject(SLObject receiver, Object name, Object value, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.object.DynamicObjectLibrary objectLibrary, SLToTruffleStringNode toTruffleStringNode) Methods inherited from class com.oracle.truffle.sl.nodes.SLExpressionNode
addExpressionTag, createWrapper, executeBoolean, executeGeneric, executeLong, executeVoid, hasTagMethods inherited from class com.oracle.truffle.sl.nodes.SLStatementNode
addRootTag, addStatementTag, formatSourceSection, getSourceCharIndex, getSourceEndIndex, getSourceLength, getSourceSection, hasSource, isInstrumentable, setSourceSection, setUnavailableSourceSection, toStringMethods inherited from class com.oracle.truffle.sl.nodes.local.SLScopedNode
findBlock, getVisibleVariablesIndexOnEnter, hasScope, setVisibleVariablesIndexOnEnter, setVisibleVariablesIndexOnExitMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, reportReplaceMethods 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
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe, getNodeObject, materializeInstrumentableNodes
-
Field Details
-
LIBRARY_LIMIT
public static final int LIBRARY_LIMIT- See Also:
-
-
Constructor Details
-
SLWritePropertyNode
public SLWritePropertyNode()
-
-
Method Details
-
writeArray
-
writeSLObject
public static Object writeSLObject(SLObject receiver, Object name, Object value, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.object.DynamicObjectLibrary objectLibrary, SLToTruffleStringNode toTruffleStringNode) -
writeObject
public static Object writeObject(Object receiver, Object name, Object value, com.oracle.truffle.api.nodes.Node node, com.oracle.truffle.api.interop.InteropLibrary objectLibrary, SLToMemberNode asMember) -
isSLObject
-