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 classes10 * as adapters of the visitors to the VisitorStarter interface.11 *12 * @author pieter_van_raemdonck - Application Engineers NV/SA - www.ae.be13 */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 }42