public abstract class ExecutableNode extends Node
executed
using a frame
instance
created by the framework.TruffleLanguage.parse(com.oracle.truffle.api.TruffleLanguage.InlineParsingRequest)
Node.Child, Node.Children
Modifier | Constructor and Description |
---|---|
protected |
ExecutableNode(TruffleLanguage<?> language)
Creates new executable node with a given language instance.
|
Modifier and Type | Method and Description |
---|---|
abstract Object |
execute(VirtualFrame frame)
Execute this fragment at the place where it was parsed.
|
<C extends TruffleLanguage> |
getLanguage(Class<C> languageClass)
Returns the language instance associated with this executable node.
|
LanguageInfo |
getLanguageInfo()
Returns public information about the language.
|
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, getSourceSection, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize, toString
protected ExecutableNode(TruffleLanguage<?> language)
TruffleLanguage.parse(InlineParsingRequest)
is executed.language
- the language this executable node is associated withpublic abstract Object execute(VirtualFrame frame)
frame
- the actual frame valid at the parsed locationnull
.public final LanguageInfo getLanguageInfo()
TruffleLanguage.LanguageReference
.public final <C extends TruffleLanguage> C getLanguage(Class<C> languageClass)
ExecutableNode.getLanguageInfo()
. The language is null
if the executable node is not
associated with a language. This method is guaranteed to return a
PE constant
if the root node
is also a PE constant.ExecutableNode.getLanguageInfo()