public abstract class JSWriteFrameSlotNode extends FrameSlotNode.WithDescriptor implements WriteNode
FrameSlotNode.WithDescriptor
frameDescriptor
frameSlot
INTERMEDIATE_VALUE
Modifier | Constructor and Description |
---|---|
protected |
JSWriteFrameSlotNode(com.oracle.truffle.api.frame.FrameSlot frameSlot,
com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor) |
Modifier and Type | Method and Description |
---|---|
static JSWriteFrameSlotNode |
create(com.oracle.truffle.api.frame.FrameSlot frameSlot,
int frameLevel,
int scopeLevel,
com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor,
com.oracle.truffle.api.frame.FrameSlot[] parentSlots,
JavaScriptNode rhs,
boolean hasTemporalDeadZone) |
static JSWriteFrameSlotNode |
create(com.oracle.truffle.api.frame.FrameSlot frameSlot,
ScopeFrameNode levelFrameNode,
JavaScriptNode rhs,
com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor,
boolean hasTemporalDeadZone) |
abstract Object |
executeWithFrame(com.oracle.truffle.api.frame.Frame frame,
Object value) |
Object |
getNodeObject() |
abstract JavaScriptNode |
getRhs() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
boolean |
isResultAlwaysOfType(Class<?> clazz) |
com.oracle.truffle.api.instrumentation.InstrumentableNode |
materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
ensureObjectKind, isBooleanKind, isDoubleKind, isIntegerKind, isLongKind
checkNotDead, getBoolean, getDouble, getFrameSlot, getIdentifier, getInt, getLevelFrameNode, getLong, getObject, hasTemporalDeadZone, isBoolean, isDouble, isInt, isLong, isObject
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, copyUninitialized, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeLong, executeSafeInteger, executeString, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTags
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, lookupContextReference, lookupLanguageReference, notifyInserted, replace, replace, reportPolymorphicSpecialize
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
executeWrite
protected JSWriteFrameSlotNode(com.oracle.truffle.api.frame.FrameSlot frameSlot, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag
in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
hasTag
in class JavaScriptNode
public Object getNodeObject()
getNodeObject
in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
public com.oracle.truffle.api.instrumentation.InstrumentableNode materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
materializeInstrumentableNodes
in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
public abstract JavaScriptNode getRhs()
public abstract Object executeWithFrame(com.oracle.truffle.api.frame.Frame frame, Object value)
public static JSWriteFrameSlotNode create(com.oracle.truffle.api.frame.FrameSlot frameSlot, int frameLevel, int scopeLevel, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor, com.oracle.truffle.api.frame.FrameSlot[] parentSlots, JavaScriptNode rhs, boolean hasTemporalDeadZone)
public static JSWriteFrameSlotNode create(com.oracle.truffle.api.frame.FrameSlot frameSlot, ScopeFrameNode levelFrameNode, JavaScriptNode rhs, com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor, boolean hasTemporalDeadZone)
public final boolean isResultAlwaysOfType(Class<?> clazz)
isResultAlwaysOfType
in class JavaScriptNode