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 }