Interface Probe.ProbeListener

All Known Implementing Classes:
LineToProbesMap, LineToSourceSectionMap
Enclosing class:
Probe

public static interface Probe.ProbeListener
An observer of events related to Probes: creating and tagging.
  • Method Details

    • startASTProbing

      void startASTProbing(Source source)
      Notifies that all registered ASTProbers are about to be applied to a newly constructed AST.
      Parameters:
      source - source code from which the AST was constructed
    • newProbeInserted

      void newProbeInserted(Probe probe)
      Notifies that a Probe has been newly attached to an AST via ProbeNode.Instrumentable.probe().

      There can be no more than one Probe at a node; this notification will only be delivered the first time probe() is called at a particular AST node. There will also be no notification when the AST to which the Probe is attached is cloned.

    • probeTaggedAs

      void probeTaggedAs(Probe probe, SyntaxTag tag, Object tagValue)
      Notifies that a SyntaxTag has been newly added to the set of tags associated with a Probe via Probe.tagAs(SyntaxTag, Object).

      The tags at a Probe are a set; this notification will only be delivered the first time a particular tag is added at a Probe.

      An optional value supplied with tagAs(SyntaxTag, Object) is reported to all listeners, but not stored. As a consequence, the optional value will have no effect at all if the tag had already been added.

      Parameters:
      probe - where a tag has been added
      tag - the tag that has been newly added (subsequent additions of the tag are unreported).
      tagValue - an optional value associated with the tag for the purposes of reporting.
    • endASTProbing

      void endASTProbing(Source source)
      Notifies that the application of all registered ASTProbers to a newly constructed AST has completed.
      Parameters:
      source - source code from which the AST was constructed