Class JSFunctionCallNode.InvokeNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.js.nodes.JavaScriptBaseNode
com.oracle.truffle.js.nodes.JavaScriptNode
com.oracle.truffle.js.nodes.function.JSFunctionCallNode
com.oracle.truffle.js.nodes.function.JSFunctionCallNode.InvokeNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode, com.oracle.truffle.api.nodes.NodeInterface, JavaScriptFunctionCallNode, Cloneable
- Enclosing class:
JSFunctionCallNode
The target of
functionTargetNode also serves as the this argument of the call. If
true, target not only serves as the this argument of the call, but also the target
object for the member expression that retrieves the function.-
Nested Class Summary
Nested classes/interfaces inherited from class JSFunctionCallNode
JSFunctionCallNode.InvokeNodeNested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.ChildrenNested classes/interfaces inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
com.oracle.truffle.api.instrumentation.InstrumentableNode.WrapperNode -
Field Summary
FieldsFields inherited from class JSFunctionCallNode
cacheNode, flagsFields inherited from class JavaScriptNode
INTERMEDIATE_VALUE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedInvokeNode(JavaScriptNode targetNode, JSTargetableNode functionTargetNode, byte flags) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract Object[]createArguments(com.oracle.truffle.api.frame.VirtualFrame frame, Object target, Object function) final Objectexecute(com.oracle.truffle.api.frame.VirtualFrame frame) Executes this node using the specified context and frame and returns the result value.protected final ObjectexecuteTarget(com.oracle.truffle.api.frame.VirtualFrame frame) protected abstract JavaScriptNode[]protected Objectfinal JavaScriptNodeReturns the target of the call.protected abstract voidcom.oracle.truffle.api.instrumentation.InstrumentableNodematerializeInstrumentableNodes(Set<Class<? extends com.oracle.truffle.api.instrumentation.Tag>> materializedTags) Methods inherited from class JSFunctionCallNode
create, create, createCall, createCall, createCallableNode, createInvoke, createNew, createNewTarget, evaluateReceiver, executeCall, executeFillObjectArraySpread, getCallTarget, getNodeObject, getUncachedCall, getUncachedNew, hasTag, isInvoke, isNewMethods inherited from class JavaScriptNode
addCallTag, addExpressionTag, addRootBodyTag, addStatementTag, cloneUninitialized, cloneUninitialized, copy, copyUninitialized, createWrapper, executeBoolean, executeDouble, executeInt, executeVoid, findBlockScopeNode, getSourceSection, hasSourceSection, isInstrumentable, isResultAlwaysOfType, onReplace, setSourceSection, setSourceSection, toString, transferSourceSection, transferSourceSectionAddExpressionTag, transferSourceSectionAndTagsMethods inherited from class JavaScriptBaseNode
getJSContext, getLanguage, getLanguageOptions, getRealm, hasOverloadedOperators, reportLoopCount, reportLoopCountMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, replace, replace, reportPolymorphicSpecialize, reportReplaceMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe
-
Field Details
-
targetNode
-
functionTargetNode
-
-
Constructor Details
-
InvokeNode
-
-
Method Details
-
getTarget
Description copied from interface:JavaScriptFunctionCallNodeReturns the target of the call.- Specified by:
getTargetin interfaceJavaScriptFunctionCallNode- Overrides:
getTargetin classJSFunctionCallNode- Returns:
- target of the call.
-
createArguments
-
getArgumentNodes
-
materializeInstrumentableArguments
protected abstract void materializeInstrumentableArguments() -
execute
Description copied from class:JavaScriptNodeExecutes this node using the specified context and frame and returns the result value.- Specified by:
executein classJavaScriptNode- Parameters:
frame- the frame of the currently executing guest language method- Returns:
- the value of the execution
-
executeTarget
-
expressionToString
- Overrides:
expressionToStringin classJavaScriptNode
-
materializeInstrumentableNodes
-
getPropertyKey
- Overrides:
getPropertyKeyin classJSFunctionCallNode
-
getFunctionTargetNode
-