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