Class AnalysisPass


  • public class AnalysisPass
    extends java.lang.Object
    An analysis pass in the overall ExecutionPlan. This is a list of Detectors to be applied to analyzed classes.
    Author:
    David Hovemeyer
    See Also:
    ExecutionPlan
    • Constructor Detail

      • AnalysisPass

        public AnalysisPass()
        Constructor. Creates an empty analysis pass.
    • Method Detail

      • addToPass

        public void addToPass​(DetectorFactory factory)
        Make given DetectorFactory a member of this pass. Does not position the factory within the overall list of detectors.
        Parameters:
        factory - a DetectorFactory
      • append

        public void append​(DetectorFactory factory)
        Append the given DetectorFactory to the end of the ordered detector list. The factory must be a member of the pass.
        Parameters:
        factory - a DetectorFactory
      • getMembers

        public java.util.Collection<DetectorFactory> getMembers()
        Get the members of this pass.
        Returns:
        members of this pass
      • getUnpositionedMembers

        public java.util.Set<DetectorFactory> getUnpositionedMembers()
        Get Set of pass members which haven't been assigned a position in the pass.
      • iterator

        public java.util.Iterator<DetectorFactory> iterator()
        Get an Iterator over the DetectorFactory objects in the pass, in their assigned order.
      • contains

        public boolean contains​(DetectorFactory factory)
        Return whether or not this pass contains the given DetectorFactory.
        Parameters:
        factory - the DetectorFactory
        Returns:
        true if this pass contains the DetectorFactory, false if not
      • instantiateDetector2sInPass

        public Detector2[] instantiateDetector2sInPass​(BugReporter bugReporter)
        Instantiate all of the Detector2s in this pass and return them in a (correctly-ordered) array.
        Parameters:
        bugReporter - the BugReporter
        Returns:
        array of Detector2s
      • instantiateDetectorsInPass

        @Deprecated
        public Detector[] instantiateDetectorsInPass​(BugReporter bugReporter)
        Deprecated.
        call instantiateDetector2sInPass() instead
        Instantiate all of the detectors in this pass as objects implementing the BCEL-only Detector interface. Detectors that do not support this interface will not be created. Therefore, new code should use the instantiateDetector2sInPass() method, which can support all detectors.
        Parameters:
        bugReporter - the BugReporter
        Returns:
        array of Detectors