# Package com.oracle.truffle.api.dsl

Interface Summary
Interface | Description
--- | ---
NodeFactory<T> | Enables the dynamic creation of generated nodes.

Exception Summary
Exception | Description
--- | ---
UnsupportedSpecializationException | Thrown by the generated code of Truffle-DSL if no compatible Specialization could be found for the provided values.

Annotation Types Summary
Annotation Type | Description
--- | ---
CreateCast | Specifies a factory method that creates a `Node` which is used to cast this child.
ExpectError | This annotation is internally known by the dsl processor and used to expect errors for testing purposes.
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.
ImplicitCast |
Implies |
ImportGuards | Imports all public static methods usable as guards for `Specialization` annotations to the current class.
NodeAssumptions | Declares one or multiple assumptions for use inside a source code generation enabled node.
NodeChild | A `NodeChild` element defines an executable child for the enclosing `Node`.
NodeChildren |
NodeField | A `NodeField` element defines a field for the generated `Node`.
NodeFields | A `NodeFields` element defines a field for the generated `Node`.
ShortCircuit |
Specialization |
TypeCast |
TypeCheck | Provides a way to define a custom type check for a defined type.
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.