View Javadoc

1   /**
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3    */
4   package net.sourceforge.pmd.lang;
5   
6   import net.sourceforge.pmd.lang.ast.Node;
7   
8   /**
9    * Interface for starting an implementation of the visitors for ASTs.
10   * 
11   * @author pieter_van_raemdonck - Application Engineers NV/SA - www.ae.be
12   */
13  public interface VisitorStarter {
14  
15      /**
16       * Placeholder {@link VisitorStarter} implementation that can be used when
17       * no real implementation exists yet. This dummy implementation does
18       * nothing.
19       */
20      VisitorStarter DUMMY = new VisitorStarter() {
21          public void start(Node rootNode) {
22              // does nothing - dummy implementation.
23          }
24      };
25  
26      /**
27       * Start the visitor, given the root-node of the AST.
28       * 
29       * @param rootNode
30       *            The root node of the AST
31       */
32      void start(Node rootNode);
33  }