1 package net.sourceforge.pmd.sourcetypehandlers;
2
3 import net.sourceforge.pmd.ast.ASTCompilationUnit;
4 import net.sourceforge.pmd.dfa.DataFlowFacade;
5 import net.sourceforge.pmd.symboltable.SymbolFacade;
6
7 /***
8 * Implementation of VisitorsFactory for the Java AST. It uses anonymous classes
9 * as adapters of the visitors to the VisitorStarter interface.
10 *
11 * @author pieter_van_raemdonck - Application Engineers NV/SA - www.ae.be
12 */
13 public abstract class JavaTypeHandler implements SourceTypeHandler {
14 private DataFlowFacade dataFlowFacade = new DataFlowFacade();
15 private SymbolFacade stb = new SymbolFacade();
16
17
18 public VisitorStarter getDataFlowFacade() {
19 return new VisitorStarter() {
20 public void start(Object rootNode) {
21 dataFlowFacade.initializeWith((ASTCompilationUnit) rootNode);
22 }
23 };
24 }
25
26 public VisitorStarter getSymbolFacade() {
27 return new VisitorStarter() {
28 public void start(Object rootNode) {
29 stb.initializeWith((ASTCompilationUnit) rootNode);
30 }
31 };
32 }
33 }