See: Description
| Interface | Description |
|---|---|
| Introspection.Provider |
Internal marker interface for DSL generated code to access reflection information.
|
| NodeFactory<T> |
Enables the dynamic creation of generated nodes.
|
| Class | Description |
|---|---|
| Introspection |
Contains introspection utilities for Truffle DSL.
|
| Introspection.SpecializationInfo |
Represents dynamic introspection information of a specialization of a DSL operation.
|
| 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 |
|---|---|
| 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. |
| 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 |
Nodes annotated with this annotation (and their subclasses) will, if processed by the DSL,
automatically
report polymorphic specializations. |
| ReportPolymorphism.Exclude |
Nodes (and their subclasses) or specializations annotated with this annotation will be
excluded from consideration when
reporting
polymorphic specializations. |
| Specialization |
Defines a method of a node subclass to represent one specialization of an operation.
|
| 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. |