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 abstract String |
getInstrumentClassName()
Returns the name of a class implementing the
TruffleInstrument . |
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 TruffleInstrumentProvider()
protected abstract String getInstrumentClassName()
TruffleInstrument
.protected abstract Object create()
TruffleInstrument
.protected abstract Collection<String> getServicesClassNames()