public abstract class JSFunctionCallNode extends JavaScriptNode implements JavaScriptFunctionCallNode
| Modifier and Type | Class and Description |
|---|---|
static class |
JSFunctionCallNode.InvokeNode
The target of
JSFunctionCallNode.InvokeNode.functionTargetNode also serves as the this argument of the call. |
| Modifier and Type | Field and Description |
|---|---|
protected com.oracle.truffle.js.nodes.function.JSFunctionCallNode.AbstractCacheNode |
cacheNode |
protected byte |
flags |
INTERMEDIATE_VALUE| Modifier | Constructor and Description |
|---|---|
protected |
JSFunctionCallNode(byte flags) |
| Modifier and Type | Method and Description |
|---|---|
static JSFunctionCallNode |
create(boolean isNew) |
static JSFunctionCallNode |
create(boolean isNew,
boolean isNewTarget) |
static JSFunctionCallNode |
createCall() |
static JSFunctionCallNode |
createCall(JavaScriptNode function,
JavaScriptNode target,
JavaScriptNode[] arguments,
boolean isNew,
boolean isNewTarget) |
protected static com.oracle.truffle.js.nodes.function.JSFunctionCallNode.JSFunctionCacheNode |
createCallableNode(JSFunctionObject function,
JSFunctionData functionData,
boolean isNew,
boolean isNewTarget,
boolean cacheOnInstance) |
static JSFunctionCallNode |
createInternalCall(JavaScriptNode[] arguments) |
static JSFunctionCallNode |
createInvoke(JSTargetableNode targetFunction,
JavaScriptNode[] arguments,
boolean isNew,
boolean isNewTarget) |
static JSFunctionCallNode |
createNew() |
static JSFunctionCallNode |
createNewTarget() |
protected Object |
evaluateReceiver(com.oracle.truffle.api.frame.VirtualFrame frame,
Object target) |
Object |
executeCall(Object[] arguments) |
protected static Object[] |
executeFillObjectArraySpread(JavaScriptNode[] arguments,
com.oracle.truffle.api.frame.VirtualFrame frame,
Object[] args,
int fixedArgumentsLength) |
protected static com.oracle.truffle.api.CallTarget |
getCallTarget(JSFunctionData functionData,
boolean isNew,
boolean isNewTarget) |
com.oracle.truffle.api.nodes.NodeCost |
getCost() |
Object |
getNodeObject() |
protected Object |
getPropertyKey() |
JavaScriptNode |
getTarget()
Returns the target of the call.
|
static JSFunctionCallNode |
getUncachedCall() |
static JSFunctionCallNode |
getUncachedNew() |
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
boolean |
isInvoke() |
boolean |
isNew() |
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, copyUninitialized, 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, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecializeprotected final byte flags
protected com.oracle.truffle.js.nodes.function.JSFunctionCallNode.AbstractCacheNode cacheNode
public static JSFunctionCallNode createCall()
public static JSFunctionCallNode createNew()
public static JSFunctionCallNode createNewTarget()
public static JSFunctionCallNode create(boolean isNew)
public static JSFunctionCallNode create(boolean isNew, boolean isNewTarget)
public static JSFunctionCallNode createCall(JavaScriptNode function, JavaScriptNode target, JavaScriptNode[] arguments, boolean isNew, boolean isNewTarget)
public static JSFunctionCallNode createInvoke(JSTargetableNode targetFunction, JavaScriptNode[] arguments, boolean isNew, boolean isNewTarget)
public static JSFunctionCallNode getUncachedCall()
public static JSFunctionCallNode getUncachedNew()
public final boolean isNew()
public final boolean isInvoke()
protected Object getPropertyKey()
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 static JSFunctionCallNode createInternalCall(JavaScriptNode[] arguments)
arguments - function, this, ...restpublic com.oracle.truffle.api.nodes.NodeCost getCost()
getCost in class com.oracle.truffle.api.nodes.Nodepublic JavaScriptNode getTarget()
JavaScriptFunctionCallNodegetTarget in interface JavaScriptFunctionCallNodeprotected final Object evaluateReceiver(com.oracle.truffle.api.frame.VirtualFrame frame, Object target)
protected static Object[] executeFillObjectArraySpread(JavaScriptNode[] arguments, com.oracle.truffle.api.frame.VirtualFrame frame, Object[] args, int fixedArgumentsLength)
protected static com.oracle.truffle.js.nodes.function.JSFunctionCallNode.JSFunctionCacheNode createCallableNode(JSFunctionObject function, JSFunctionData functionData, boolean isNew, boolean isNewTarget, boolean cacheOnInstance)
protected static com.oracle.truffle.api.CallTarget getCallTarget(JSFunctionData functionData, boolean isNew, boolean isNewTarget)