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  }