See: Description
| Interface | Description |
|---|---|
| AllocationListener |
Listener to be notified about guest language value allocations.
|
| ContextsListener |
Listener to be notified about changes of contexts in guest language application.
|
| ExecuteSourceListener |
A listener attached by an
Instrumenter to specific sources of a guest language program to
listen to execute source events. |
| ExecutionEventListener |
A listener attached by an
Instrumenter to specific locations of a guest language program
to listen to execution events. |
| ExecutionEventNodeFactory |
Event node factories are factories of event nodes for a
program location. |
| InstrumentableNode |
Interface implemented by AST
nodes that may be instrumentable: an AST
location where Truffle
instruments are permitted to listen to before and after using execution event listeners. |
| InstrumentableNode.WrapperNode |
Nodes that the instrumentation framework inserts into guest language ASTs (between
Instrumentable guest language nodes and their parents) for the purpose of interposing
on execution events and reporting them via the instrumentation framework. |
| LoadSourceListener |
A listener attached by an
Instrumenter to specific locations of a guest language program
to listen to load source events. |
| LoadSourceSectionListener |
A listener attached by an
Instrumenter to specific locations of a guest language program
to listen to sources section load events. |
| SourceSectionFilter.SourcePredicate |
Represents a predicate for source objects.
|
| ThreadsListener |
Listener to be notified about changes of threads in guest language application.
|
| Class | Description |
|---|---|
| AllocationEvent |
An event representing an allocation of a guest language value.
|
| AllocationEventFilter |
An instrumentation filter of allocations of guest language values.
|
| AllocationReporter |
Reporter of guest language value allocations.
|
| EventBinding<T> |
An instrumentation handle for a subscription to a
filtered stream of execution event notifications.
|
| EventContext |
Represents the context of an execution event.
|
| ExecuteSourceEvent |
Represents a source execute event from a
ExecuteSourceListener. |
| ExecutionEventNode |
An event node created by an
ExecutionEventNodeFactory for a specific locations of a guest
language program to listen to instrumentation events. |
| Instrumenter |
Provides capabilities to attach listeners for execution, load, output and allocation events.
|
| LoadSourceEvent |
Represents a source load event from a
LoadSourceListener. |
| LoadSourceSectionEvent |
Represents a source section load event from a
LoadSourceSectionListener. |
| ProbeNode |
Represents an event sink for instrumentation events that is embedded in the AST using wrappers if
needed.
|
| SourceFilter |
A source filter represents an expression for a subset of guest language sources that are used in
an Truffle interpreter.
|
| SourceSectionFilter |
A source section filter represents an expression for a subset of tagged source sections that are
used in an Truffle interpreter.
|
| SourceSectionFilter.IndexRange |
Represents a range between two indices within a
source section
filter. |
| StandardTags |
Set of standard tags usable by language agnostic tools.
|
| StandardTags.CallTag |
Marks program locations that represent a call to other guest language functions, methods or
closures.
|
| StandardTags.ExpressionTag |
Marks program locations as to be considered expressions of the languages.
|
| StandardTags.RootTag |
Marks program locations as root of a function, method or closure.
|
| StandardTags.StatementTag |
Marks program locations that represent a statement of a language.
|
| StandardTags.TryBlockTag |
Marks program locations to be considered as try blocks, that are followed by catch.
|
| Tag |
Base class for tags used in the Truffle instrumentation framework.
|
| TruffleInstrument |
The service provider interface (SPI) for Truffle instruments: clients of Truffle instrumentation
that may observe and inject behavior into interpreters written using the Truffle framework.
|
| TruffleInstrument.Env |
Access to instrumentation services as well as input, output, and error streams.
|
| Annotation Type | Description |
|---|---|
| GenerateWrapper |
Generates a default wrapper subclass of an annotated
InstrumentableNode subclass. |
| GenerateWrapper.IncomingConverter |
Annotates a method to be used as incoming value converter.
|
| GenerateWrapper.OutgoingConverter |
Annotates a method to be used as outgoing value converter.
|
| ProvidedTags |
Specifies a set of tags that are provided by a
language implementation. |
| Tag.Identifier |
Annotation applied to
Tag subclasses to specify the tag identifier. |
| TruffleInstrument.Registration |
Annotation that registers an
instrument implementations for
automatic discovery. |
InstrumentableNode.
For details please refer to InstrumentableNode.
To use the instrumentation framework implementors must implement the
TruffleInstrument interface. Please refer to
TruffleInstrument for further details.
Guest languages that want to use the capabilities of the instrumentation framework can access
Instrumenter for their
TruffleLanguage by calling
TruffleLanguage.Env.lookup(Class).
SourceSectionFilter created using guest languages
may be used to implement guest language features that require meta-programming capabilities.TruffleInstrument,
Instrumentable