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 import net.sourceforge.pmd.typeresolution.TypeResolutionFacade;
7
8 /***
9 * Implementation of VisitorsFactory for the Java AST. It uses anonymous classes
10 * as adapters of the visitors to the VisitorStarter interface.
11 *
12 * @author pieter_van_raemdonck - Application Engineers NV/SA - www.ae.be
13 */
14 public abstract class JavaTypeHandler implements SourceTypeHandler {
15
16 public VisitorStarter getDataFlowFacade() {
17 return new VisitorStarter() {
18 public void start(Object rootNode) {
19 new DataFlowFacade().initializeWith((ASTCompilationUnit) rootNode);
20 }
21 };
22 }
23
24 public VisitorStarter getSymbolFacade() {
25 return new VisitorStarter() {
26 public void start(Object rootNode) {
27 new SymbolFacade().initializeWith((ASTCompilationUnit) rootNode);
28 }
29 };
30 }
31
32 public VisitorStarter getTypeResolutionFacade() {
33 return new VisitorStarter() {
34 public void start(Object rootNode) {
35 new TypeResolutionFacade().initializeWith((ASTCompilationUnit) rootNode);
36 }
37 };
38 }
39
40
41 }