KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sourceforge > pmd > dfa > DataFlowFacade


1 /*
2  * Created on 10.07.2004
3  */

4 package net.sourceforge.pmd.dfa;
5
6 import net.sourceforge.pmd.ast.ASTCompilationUnit;
7 import net.sourceforge.pmd.ast.ASTConstructorDeclaration;
8 import net.sourceforge.pmd.ast.ASTMethodDeclaration;
9 import net.sourceforge.pmd.ast.JavaParserVisitorAdapter;
10 import net.sourceforge.pmd.dfa.variableaccess.VariableAccessVisitor;
11
12 /**
13  * @author raik
14  * <p/>
15  * TODO What about initializers? This only processes methods and constructors
16  */

17 public class DataFlowFacade extends JavaParserVisitorAdapter {
18
19     private StatementAndBraceFinder sbf;
20     private VariableAccessVisitor vav;
21
22     public void initializeWith(ASTCompilationUnit node) {
23         sbf = new StatementAndBraceFinder();
24         vav = new VariableAccessVisitor();
25         node.jjtAccept(this, null);
26     }
27
28     public Object JavaDoc visit(ASTMethodDeclaration node, Object JavaDoc data) {
29         sbf.buildDataFlowFor(node);
30         vav.compute(node);
31         return data;
32     }
33
34     public Object JavaDoc visit(ASTConstructorDeclaration node, Object JavaDoc data) {
35         sbf.buildDataFlowFor(node);
36         vav.compute(node);
37         return data;
38     }
39 }
40
Popular Tags