Class SLFunctionLiteralNode
java.lang.Object
com.oracle.truffle.api.nodes.Node
com.oracle.truffle.sl.nodes.local.SLScopedNode
com.oracle.truffle.sl.nodes.SLStatementNode
com.oracle.truffle.sl.nodes.SLExpressionNode
com.oracle.truffle.sl.nodes.expression.SLFunctionLiteralNode
- All Implemented Interfaces:
com.oracle.truffle.api.instrumentation.InstrumentableNode,com.oracle.truffle.api.nodes.NodeInterface,Cloneable
Constant literal for a
function value, created when a function name occurs as
a literal in SL source code. Note that function redefinition can change the call target that is executed when calling the function, but the SLFunction for a name
never changes. This is guaranteed by the SLFunctionRegistry.-
Nested Class Summary
Nested 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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic SLFunctionlookupFunction(com.oracle.truffle.api.strings.TruffleString functionName, com.oracle.truffle.api.nodes.Node node) static SLFunctionlookupFunctionCached(com.oracle.truffle.api.strings.TruffleString functionName, com.oracle.truffle.api.nodes.Node node) static SLFunctionperform(com.oracle.truffle.api.strings.TruffleString functionName, com.oracle.truffle.api.nodes.Node node, SLFunction result) Methods inherited from class com.oracle.truffle.sl.nodes.SLExpressionNode
addExpressionTag, createWrapper, executeBoolean, executeGeneric, executeLong, executeVoid, hasTagMethods inherited from class com.oracle.truffle.sl.nodes.SLStatementNode
addRootTag, addStatementTag, formatSourceSection, getSourceCharIndex, getSourceEndIndex, getSourceLength, getSourceSection, hasSource, isInstrumentable, setSourceSection, setUnavailableSourceSection, toStringMethods inherited from class com.oracle.truffle.sl.nodes.local.SLScopedNode
findBlock, getVisibleVariablesIndexOnEnter, hasScope, setVisibleVariablesIndexOnEnter, setVisibleVariablesIndexOnExitMethods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, reportReplaceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.oracle.truffle.api.instrumentation.InstrumentableNode
createProbe, findNearestNodeAt, findNearestNodeAt, findProbe, getNodeObject, materializeInstrumentableNodes
-
Constructor Details
-
SLFunctionLiteralNode
public SLFunctionLiteralNode()
-
-
Method Details
-
perform
public static SLFunction perform(com.oracle.truffle.api.strings.TruffleString functionName, com.oracle.truffle.api.nodes.Node node, SLFunction result) -
lookupFunction
public static SLFunction lookupFunction(com.oracle.truffle.api.strings.TruffleString functionName, com.oracle.truffle.api.nodes.Node node) -
lookupFunctionCached
public static SLFunction lookupFunctionCached(com.oracle.truffle.api.strings.TruffleString functionName, com.oracle.truffle.api.nodes.Node node)
-