Interface ProbeNode.Instrumentable
-
- Enclosing class:
- ProbeNode
public static interface ProbeNode.Instrumentable
Any Truffle node implementing this interface can be "instrumented" by installing aProbe
that intercepts execution events at the node and routes them to anyInstrument
s that have been attached to theProbe
. Only oneProbe
may be installed at each node; subsequent calls return the one already installed.- See Also:
Instrument
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Probe
probe()
Enables "instrumentation" of a Guest Language Truffle node, where the node is presumed to be part of a well-formed Truffle AST that is not being executed.void
probeLite(TruffleEventReceiver eventReceiver)
Enables a one-time, unchangeable "instrumentation" of a Guest Language Truffle node, where the node is presumed to be part of a well-formed Truffle AST that is not being executed.
-
-
-
Method Detail
-
probe
Probe probe()
Enables "instrumentation" of a Guest Language Truffle node, where the node is presumed to be part of a well-formed Truffle AST that is not being executed. The AST may be modified as a side effect.This interface is not intended to be visible as part of the API for tools (instrumentation clients).
- Returns:
- a (possibly newly created)
Probe
associated with this node.
-
probeLite
void probeLite(TruffleEventReceiver eventReceiver)
Enables a one-time, unchangeable "instrumentation" of a Guest Language Truffle node, where the node is presumed to be part of a well-formed Truffle AST that is not being executed. The AST may be modified as a side-effect. Unlikeprobe()
, onceprobeLite(TruffleEventReceiver)
is called at a node, no additional probing can be added and no additional instrumentation can be attached.This interface is not intended to be visible as part of the API for tools (instrumentation clients).
- Parameters:
eventReceiver
- TheTruffleEventReceiver
for the single "instrument" being attached to this node.
-
-