Class LineToProbesMap

    • Constructor Detail

      • LineToProbesMap

        public LineToProbesMap()
    • Method Detail

      • startASTProbing

        public void startASTProbing​(Source source)
        Description copied from interface: Probe.ProbeListener
        Notifies that all registered ASTProbers are about to be applied to a newly constructed AST.
        Specified by:
        startASTProbing in interface Probe.ProbeListener
        Parameters:
        source - source code from which the AST was constructed
      • probeTaggedAs

        public void probeTaggedAs​(Probe probe,
                                  SyntaxTag tag,
                                  java.lang.Object tagValue)
        Description copied from interface: Probe.ProbeListener
        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.

        Specified by:
        probeTaggedAs in interface Probe.ProbeListener
        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

        public void endASTProbing​(Source source)
        Description copied from interface: Probe.ProbeListener
        Notifies that the application of all registered ASTProbers to a newly constructed AST has completed.
        Specified by:
        endASTProbing in interface Probe.ProbeListener
        Parameters:
        source - source code from which the AST was constructed
      • findLineProbe

        public Probe findLineProbe​(LineLocation lineLocation)
        Returns the Probe, if any, associated with source that starts on a specified line; if there are more than one, return the one with the first starting character location.
      • addProbeToLine

        protected void addProbeToLine​(LineLocation line,
                                      Probe probe)
        Records creation of a probe whose associated source starts on the given line.

        If the line already exists in the internal lineToProbesMap, this probe will be added to the existing collection. If no line already exists in the internal map, then a new key is added along with a new collection containing the probe.

        This class requires that each added line/probe pair hasn't been previously added. However, attaching the same probe to a new line location is allowed.

        Parameters:
        line - The LineLocation to attach the probe to.
        probe - The Probe to attach for that line location.
      • getProbesAtLine

        public java.util.Collection<Probe> getProbesAtLine​(LineLocation line)
        Returns a collection of Probes whose associated source begins at the given LineLocation, an empty list if none.
        Parameters:
        line - The line to check.
        Returns:
        A collection of probes at the given line.
      • getProbesAtLineNumber

        public java.util.Collection<Probe> getProbesAtLineNumber​(int lineNumber)
        Convenience method to get probes according to a int line number. Returns a collection of Probes at the given line number, an empty list if none.
        Parameters:
        lineNumber - The line number to check.
        Returns:
        A collection of probes at the given line.
      • forget

        public void forget​(Source source)