public abstract class TruffleLanguageProvider extends Object
TruffleLanguage
using a ServiceLoader
. This interface is not
intended to be implemented directly by a language developer, rather the implementation is
generated by the Truffle DSL. The generated implementation has to inherit the
TruffleLanguage.Registration
and ProvidedTags
annotations from the TruffleLanguage
.Modifier | Constructor and Description |
---|---|
protected |
TruffleLanguageProvider()
Constructor to be called by subclasses.
|
Modifier and Type | Method and Description |
---|---|
protected abstract Object |
create()
Creates a new instance of a
TruffleLanguage . |
protected abstract String |
getLanguageClassName()
Returns the name of a class implementing the
TruffleLanguage . |
protected abstract Collection<String> |
getServicesClassNames()
Returns the class names of provided services.
|
protected abstract <S> Iterable<S> |
loadTruffleService(Class<S> type)
Loads implementations of
type service. |
protected TruffleLanguageProvider()
protected abstract String getLanguageClassName()
TruffleLanguage
.protected abstract Object create()
TruffleLanguage
.protected abstract Collection<String> getServicesClassNames()