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 List<?> |
createFileTypeDetectors()
Creates file type detectors used by the
TruffleLanguage . |
protected Object |
createInternalResource(String resourceId)
Creates a language
InternalResource identified by the resourceId . |
protected List<String> |
getInternalResourceIds()
Returns ids of provided internal resources.
|
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 TruffleLanguageProvider()
protected abstract String getLanguageClassName()
TruffleLanguage
.protected abstract Object create()
TruffleLanguage
.protected abstract Collection<String> getServicesClassNames()
protected abstract List<?> createFileTypeDetectors()
TruffleLanguage
.protected List<String> getInternalResourceIds()
protected Object createInternalResource(String resourceId)
InternalResource
identified by the resourceId
.IllegalArgumentException
- if resourceId
is not supported by this language