See: Description
| Interface | Description |
|---|---|
| DefaultExportProvider |
Service provider interface implemented by external default exports of a library.
|
| EagerExportProvider |
Service provider interface implemented by library exports if they needed to be loaded eagerly
with a library.
|
| LibraryExport.DelegateExport |
Internal interface for generated code only.
|
| Class | Description |
|---|---|
| DynamicDispatchLibrary |
A library that allows to dynamically dispatch to export library classes.
|
| Library |
Base class for all Truffle library specifications.
|
| LibraryExport<T extends Library> |
Base class for generated export classes.
|
| LibraryFactory<T extends Library> |
Library factories allow to create instances of libraries used to call library messages.
|
| Message |
Represents a description of library message.
|
| ReflectionLibrary |
The reflection library allows to send to and proxy messages of receivers.
|
| Annotation Type | Description |
|---|---|
| CachedLibrary |
The cached library annotation allows to use
Truffle
Libraries conveniently in specializations or exported messages. |
| ExportLibrary |
Allows to export messages of Truffle libraries.
|
| ExportLibrary.Repeat |
Repeat annotation for
ExportLibrary. |
| ExportMessage |
Exports the annotated method or class as library message.
|
| ExportMessage.Ignore |
Explicitly ignores warning messages originating from the
ExportLibrary annotation. |
| ExportMessage.Repeat | |
| GenerateLibrary |
Libraries are specified with
public and abstract Java classes that
extend the Library class and are annotated by @GenerateLibrary. |
| GenerateLibrary.Abstract |
Makes a library message abstract, but allows to keep a default implementation.
|
| GenerateLibrary.DefaultExport |
Specifies
library implementations provided by default as a fallback. |
| GenerateLibrary.DefaultExport.Repeat |
Before reading the javadoc make sure you have read the tutorial .
Start learning Truffle Libraries by reading the following articles:
Libraries specify the set of available
messages i.e. the protocol.
Exports implement a library for a
receiver type.
specialization DSL.
Advanced Features:
ReflectionLibrary allows to reflectively export
and call messages without binary dependency to a library. It also allows to implement library
agnostic proxies.
DynamicDispatchLibrary allows to implement
receivers that dynamically dispatch to exported message implementations.
To specify libraries,
To export libraries,
To dispatch libraries from nodes,
To manually dispatch messages