public abstract class EvalNode extends JavaScriptNode
| Modifier and Type | Class and Description |
|---|---|
protected static class |
EvalNode.DirectEvalNode |
| Modifier and Type | Field and Description |
|---|---|
protected AbstractFunctionArgumentsNode |
arguments |
protected EvalNode.DirectEvalNode |
directEvalNode |
protected JavaScriptNode |
functionNode |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
EvalNode(JSContext context,
JavaScriptNode functionNode,
AbstractFunctionArgumentsNode arguments,
EvalNode.DirectEvalNode directEvalNode) |
protected |
EvalNode(JSContext context,
JavaScriptNode function,
JavaScriptNode[] args,
JavaScriptNode thisObject,
Object env,
int blockScopeSlot) |
| Modifier and Type | Method and Description |
|---|---|
protected JavaScriptNode |
copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) |
static EvalNode |
create(JSContext context,
JavaScriptNode functionNode,
JavaScriptNode[] args,
JavaScriptNode thisObject,
Object env,
JSFrameSlot blockScopeSlot) |
protected Object |
evalNotOverridden(com.oracle.truffle.api.frame.VirtualFrame frame,
Object evalFunction) |
protected Object |
evalOverridden(com.oracle.truffle.api.frame.VirtualFrame frame,
Object evalFunction,
JSFunctionCallNode redirectCall) |
static ScriptOrModule |
findActiveScriptOrModule(com.oracle.truffle.api.nodes.Node callNode) |
static com.oracle.truffle.api.nodes.Node |
findCallNode(JSRealm realm) |
static String |
formatEvalOrigin(com.oracle.truffle.api.nodes.Node callNode,
JSContext context,
String defaultName) |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
protected boolean |
isEvalOverridden(Object function) |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, createWrapper, execute, executeBoolean, executeDouble, executeInt, executeLong, executeVoid, expressionToString, 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 JavaScriptNode functionNode
protected AbstractFunctionArgumentsNode arguments
protected EvalNode.DirectEvalNode directEvalNode
protected EvalNode(JSContext context, JavaScriptNode function, JavaScriptNode[] args, JavaScriptNode thisObject, Object env, int blockScopeSlot)
protected EvalNode(JSContext context, JavaScriptNode functionNode, AbstractFunctionArgumentsNode arguments, EvalNode.DirectEvalNode directEvalNode)
public boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class JavaScriptNodeprotected Object evalNotOverridden(com.oracle.truffle.api.frame.VirtualFrame frame, Object evalFunction)
protected Object evalOverridden(com.oracle.truffle.api.frame.VirtualFrame frame, Object evalFunction, JSFunctionCallNode redirectCall)
protected final boolean isEvalOverridden(Object function)
public static EvalNode create(JSContext context, JavaScriptNode functionNode, JavaScriptNode[] args, JavaScriptNode thisObject, Object env, JSFrameSlot blockScopeSlot)
public static String formatEvalOrigin(com.oracle.truffle.api.nodes.Node callNode, JSContext context, String defaultName)
public static com.oracle.truffle.api.nodes.Node findCallNode(JSRealm realm)
public static ScriptOrModule findActiveScriptOrModule(com.oracle.truffle.api.nodes.Node callNode)
protected JavaScriptNode copyUninitialized(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags)
copyUninitialized in class JavaScriptNode