public final class GlobalScopeVarWrapperNode extends JavaScriptNode implements ReadNode, WriteNode
INTERMEDIATE_VALUE
Constructor and Description |
---|
GlobalScopeVarWrapperNode(String varName,
JavaScriptNode defaultDelegate,
JavaScriptNode dynamicScope,
JSTargetableNode scopeAccessNode) |
Modifier and Type | Method and Description |
---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
Object |
executeWrite(com.oracle.truffle.api.frame.VirtualFrame frame,
Object value) |
JavaScriptNode |
getDelegateNode() |
String |
getPropertyName() |
JavaScriptNode |
getRhs() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
boolean |
isInstrumentable() |
void |
setMethod() |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, executeBoolean, executeDouble, executeInt, executeLong, executeSafeInteger, executeString, executeVoid, expressionToString, findBlockScopeNode, getSourceSection, hasSourceSection, isResultAlwaysOfType, 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
public GlobalScopeVarWrapperNode(String varName, JavaScriptNode defaultDelegate, JavaScriptNode dynamicScope, JSTargetableNode scopeAccessNode)
public JavaScriptNode getDelegateNode()
public String getPropertyName()
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 boolean isInstrumentable()
isInstrumentable
in interface com.oracle.truffle.api.instrumentation.InstrumentableNode
isInstrumentable
in class JavaScriptNode
public Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNode
execute
in class JavaScriptNode
frame
- the frame of the currently executing guest language methodpublic Object executeWrite(com.oracle.truffle.api.frame.VirtualFrame frame, Object value)
executeWrite
in interface WriteNode
public JavaScriptNode getRhs()
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized
in class JavaScriptNode
public void setMethod()