public final class SLInvokeNode extends SLExpressionNode
target function can be computed by an arbitrary expression. This node is responsible for
evaluating this expression, as well as evaluating the arguments. The
actual invocation is delegated to a InteropLibrary instance.InteropLibrary.execute(Object, Object...)| Constructor and Description |
|---|
SLInvokeNode(SLExpressionNode functionNode,
SLExpressionNode[] argumentNodes) |
| Modifier and Type | Method and Description |
|---|---|
Object |
executeGeneric(com.oracle.truffle.api.frame.VirtualFrame frame)
The execute method when no specialization is possible.
|
boolean |
hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag) |
addExpressionTag, createWrapper, executeBoolean, executeLong, executeVoidaddRootTag, addStatementTag, formatSourceSection, getSourceCharIndex, getSourceEndIndex, getSourceLength, getSourceSection, hasSource, isInstrumentable, setSourceSection, setUnavailableSourceSection, toStringfindBlock, getVisibleVariablesIndexOnEnter, hasScope, setVisibleVariablesIndexOnEnter, setVisibleVariablesIndexOnExitaccept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecializepublic SLInvokeNode(SLExpressionNode functionNode, SLExpressionNode[] argumentNodes)
public Object executeGeneric(com.oracle.truffle.api.frame.VirtualFrame frame)
SLExpressionNodeexecuteGeneric in class SLExpressionNodepublic boolean hasTag(Class<? extends com.oracle.truffle.api.instrumentation.Tag> tag)
hasTag in interface com.oracle.truffle.api.instrumentation.InstrumentableNodehasTag in class SLExpressionNode