public class GlobalPropertyNode extends JSTargetableNode implements ReadNode
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
GlobalPropertyNode(JSContext context,
com.oracle.truffle.api.strings.TruffleString propertyName,
JavaScriptNode globalObjectNode) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static JSTargetableNode |
createLexicalGlobal(JSContext ctx,
com.oracle.truffle.api.strings.TruffleString propertyName,
boolean checkTDZ) |
static JSTargetableNode |
createPropertyNode(JSContext ctx,
com.oracle.truffle.api.strings.TruffleString propertyName) |
Object |
evaluateTarget(com.oracle.truffle.api.frame.VirtualFrame frame) |
Object |
execute(com.oracle.truffle.api.frame.VirtualFrame frame)
Executes this node using the specified context and frame and returns the result value.
|
double |
executeDouble(com.oracle.truffle.api.frame.VirtualFrame frame)
Like
JavaScriptNode.execute(VirtualFrame) except that it tries to convert the result value to a
double. |
int |
executeInt(com.oracle.truffle.api.frame.VirtualFrame frame)
Like
JavaScriptNode.execute(VirtualFrame) except that it tries to convert the result value to an
int. |
Object |
executeWithTarget(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target) |
String |
expressionToString() |
Object |
getNodeObject() |
Object |
getPropertyKey() |
JavaScriptNode |
getTarget() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
com.oracle.truffle.api.instrumentation.InstrumentableNode |
materializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
void |
setMethod() |
void |
setPropertyAssumptionCheckEnabled(boolean enabled) |
createWrapper, evaluateReceiver, executeDoubleWithTarget, executeIntWithTargetaddCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, executeBoolean, executeLong, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, removeSourceSection, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsgetLanguage, getRealm, hasOverloadedOperatorsaccept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeprotected GlobalPropertyNode(JSContext context, com.oracle.truffle.api.strings.TruffleString propertyName, JavaScriptNode globalObjectNode)
public static JSTargetableNode createPropertyNode(JSContext ctx, com.oracle.truffle.api.strings.TruffleString propertyName)
public static JSTargetableNode createLexicalGlobal(JSContext ctx, com.oracle.truffle.api.strings.TruffleString propertyName, boolean checkTDZ)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class JavaScriptNodepublic Object getNodeObject()
getNodeObject in interface com.oracle.truffle.api.instrumentation.InstrumentableNodepublic 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.InstrumentableNodepublic Object executeWithTarget(com.oracle.truffle.api.frame.VirtualFrame frame, Object target)
executeWithTarget in class JSTargetableNodepublic final Object evaluateTarget(com.oracle.truffle.api.frame.VirtualFrame frame)
evaluateTarget in class JSTargetableNodepublic JavaScriptNode getTarget()
getTarget in class JSTargetableNodepublic Object execute(com.oracle.truffle.api.frame.VirtualFrame frame)
JavaScriptNodeexecute in class JavaScriptNodeframe - the frame of the currently executing guest language methodpublic int executeInt(com.oracle.truffle.api.frame.VirtualFrame frame)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
JavaScriptNodeJavaScriptNode.execute(VirtualFrame) except that it tries to convert the result value to an
int. A node can override this method if it has a better way to producing a value of type int.executeInt in class JavaScriptNodeframe - the frame of the currently executing guest language methodcom.oracle.truffle.api.nodes.UnexpectedResultException - if a loss-free conversion of the result to int is not
possiblepublic double executeDouble(com.oracle.truffle.api.frame.VirtualFrame frame)
throws com.oracle.truffle.api.nodes.UnexpectedResultException
JavaScriptNodeJavaScriptNode.execute(VirtualFrame) except that it tries to convert the result value to a
double. A node can override this method if it has a better way to producing a value of type
double.executeDouble in class JavaScriptNodeframe - the frame of the currently executing guest language methodcom.oracle.truffle.api.nodes.UnexpectedResultException - if a loss-free conversion of the result to double is not
possiblepublic Object getPropertyKey()
public void setMethod()
public void setPropertyAssumptionCheckEnabled(boolean enabled)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNodepublic String expressionToString()
expressionToString in class JavaScriptNode