public abstract class TruffleInstrumentProvider extends Object
TruffleInstrument using a ServiceLoader. This interface is not
intended to be implemented directly by an instrument developer, rather the implementation is
generated by the Truffle DSL. The generated implementation has to inherit the
TruffleInstrument.Registration annotations from the TruffleInstrument.| Modifier | Constructor and Description |
|---|---|
protected |
TruffleInstrumentProvider()
Constructor to be called by subclasses.
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract Object |
create()
Creates a new instance of a
TruffleInstrument. |
protected Object |
createInternalResource(String resourceId)
Creates an instrument
InternalResource identified by the resourceId. |
protected abstract String |
getInstrumentClassName()
Returns the name of a class implementing the
TruffleInstrument. |
protected List<String> |
getInternalResourceIds()
Returns ids of provided internal resources.
|
protected abstract Collection<String> |
getServicesClassNames()
Returns the class names of provided services.
|
protected TruffleInstrumentProvider()
protected abstract String getInstrumentClassName()
TruffleInstrument.protected abstract Object create()
TruffleInstrument.protected abstract Collection<String> getServicesClassNames()
protected List<String> getInternalResourceIds()
protected Object createInternalResource(String resourceId)
InternalResource identified by the resourceId.IllegalArgumentException - if resourceId is not supported by this instrument