View Javadoc

    1   package net.sourceforge.pmd;
    2
    3   import java.util.List;
    4
    5   import net.sourceforge.pmd.ast.CompilationUnit;
    6
    7   /**
    8    * The RuleChainVisitor understands how to visit an AST for a particular
    9    * Language.
    10   */
    11  public interface RuleChainVisitor {
    12      /**
    13       * Add the given rule to the visitor.
    14       *
    15       * @param ruleSet
    16       *            The RuleSet to which the rule belongs.
    17       * @param rule
    18       *            The rule to add.
    19       */
    20      void add(RuleSet ruleSet, Rule rule);
    21
    22      /**
    23       * Visit all the given ASTCompilationUnits provided using the given
    24       * RuleContext. Every Rule added will visit the AST as appropriate.
    25       *
    26       * @param astCompilationUnits
    27       *            The ASTCompilationUnits to visit.
    28       * @param ctx
    29       *            The RuleContext.
    30       */
    31      void visitAll(List<CompilationUnit> astCompilationUnits, RuleContext ctx);
    32  }