See: Description
Interface | Description |
---|---|
GenerateAOT.Provider |
Implemented by generated code.
|
Introspection.Provider |
Internal marker interface for DSL generated code to access reflection information.
|
NodeFactory<T> |
Enables the dynamic creation of generated nodes.
|
Class | Description |
---|---|
AOTSupport |
Helper class to prepare AOT enabled nodes for AOT in
RootNode.prepareForAOT() . |
Introspection |
Contains introspection utilities for Truffle DSL.
|
Introspection.SpecializationInfo |
Represents dynamic introspection information of a specialization of a DSL operation.
|
SpecializationStatistics |
Represents a specialization statistics utiltiy that can be
entered to collect
additional statistics about Truffle DSL nodes. |
SpecializationStatistics.NodeStatistics |
Class to collect statistics information per node.
|
Exception | Description |
---|---|
UnsupportedSpecializationException |
Thrown by the generated code of Truffle-DSL if no compatible Specialization could be found for
the provided values.
|
Annotation Type | Description |
---|---|
Bind |
Binds and executes an expression at most once for every execution of the node.
|
Cached |
A parameter annotated with
Cached in a Specialization refers to a cached
value of a specialization instance. |
Cached.Exclusive |
Disallows any sharing with other cached parameters.
|
Cached.Shared |
Allows sharing between multiple Cached parameters between multiple specializations or
exported library messages.
|
CachedContext |
Allows to access the current language execution context in specializations or exported messages.
|
CachedLanguage |
Allows to access the current language instance in specializations or exported messages.
|
CreateCast |
Specifies a factory method that creates a
Node which is used to cast this child. |
Executed |
This annotation declares a
child field to be executed and used as dynamic input
values for specializations . |
Fallback |
A method annotated with
Fallback is treated as a Specialization that implicitly
links all the guards of all other declared Specialization annotated methods of the
operation in a negated form. |
GenerateAOT |
Allows nodes with specializations to be prepared for AOT.
|
GenerateAOT.Exclude |
Excludes the annotated
Specialization from AOT preparation. |
GeneratedBy |
Marks a type as being generated based on another class or method of a class.
|
GenerateNodeFactory |
Annotate nodes or base classes of nodes to generate factory handlers implementing the
NodeFactory interface. |
GenerateUncached |
Generates an uncached version of a node with specializations.
|
ImplicitCast | |
ImportStatic |
Imports all
public and static methods and fields of the provided
classes for the use in DSL expressions of the annotated class or its subclasses. |
Introspectable |
Annotate a DSL operation using this annotation to be introspectable.
|
NodeChild | |
NodeChildren | |
NodeField | |
NodeFields |
A
NodeFields element defines a field for the generated Node . |
ReportPolymorphism |
Enables reporting of polymorphic specializations from this node or exported message to the
runtime.
|
ReportPolymorphism.Exclude |
Nodes (and their subclasses) or specializations annotated with this annotation will be
excluded from consideration when
reporting
polymorphic specializations . |
ReportPolymorphism.Megamorphic |
Specializations annotated with this annotation are considered megamorphic.
|
Specialization |
Defines a method of a node subclass to represent one specialization of an operation.
|
SpecializationStatistics.AlwaysEnabled |
Used on nodes to always enable specialization statistics.
|
TypeCast |
Overrides the standard way of casting a certain type in a
TypeSystem . |
TypeCheck |
Overrides the standard way of checking for a certain type in a
TypeSystem . |
TypeSystem |
Each
Node has one TypeSystem at its root to define the types that can be used
throughout the system. |
TypeSystemReference |
References a
TypeSystem on a node. |