Search in sources :

Example 1 with JavaParserVisitor

use of net.sourceforge.pmd.lang.java.ast.JavaParserVisitor in project pmd by pmd.

the class ParserTstUtil method buildDFA.

public static ASTCompilationUnit buildDFA(String javaCode) {
    LanguageVersionHandler languageVersionHandler = LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getDefaultVersion().getLanguageVersionHandler();
    ASTCompilationUnit cu = (ASTCompilationUnit) languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(javaCode));
    JavaParserVisitor jpv = (JavaParserVisitor) Proxy.newProxyInstance(JavaParserVisitor.class.getClassLoader(), new Class[] { JavaParserVisitor.class }, new Collector<>(ASTCompilationUnit.class));
    jpv.visit(cu, null);
    new SymbolFacade().initializeWith(cu);
    new DataFlowFacade().initializeWith(languageVersionHandler.getDataFlowHandler(), cu);
    return cu;
}
Also used : ASTCompilationUnit(net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit) SymbolFacade(net.sourceforge.pmd.lang.java.symboltable.SymbolFacade) StringReader(java.io.StringReader) DataFlowFacade(net.sourceforge.pmd.lang.java.dfa.DataFlowFacade) LanguageVersionHandler(net.sourceforge.pmd.lang.LanguageVersionHandler) JavaParserVisitor(net.sourceforge.pmd.lang.java.ast.JavaParserVisitor)

Example 2 with JavaParserVisitor

use of net.sourceforge.pmd.lang.java.ast.JavaParserVisitor in project pmd by pmd.

the class ParserTstUtil method getNodes.

public static <E> Set<E> getNodes(LanguageVersion languageVersion, Class<E> clazz, String javaCode) {
    Collector<E> coll = new Collector<>(clazz);
    LanguageVersionHandler languageVersionHandler = languageVersion.getLanguageVersionHandler();
    ASTCompilationUnit cu = (ASTCompilationUnit) languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(javaCode));
    JavaParserVisitor jpv = (JavaParserVisitor) Proxy.newProxyInstance(JavaParserVisitor.class.getClassLoader(), new Class[] { JavaParserVisitor.class }, coll);
    jpv.visit(cu, null);
    return (Set<E>) coll.getCollection();
}
Also used : Set(java.util.Set) HashSet(java.util.HashSet) ASTCompilationUnit(net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit) StringReader(java.io.StringReader) LanguageVersionHandler(net.sourceforge.pmd.lang.LanguageVersionHandler) JavaParserVisitor(net.sourceforge.pmd.lang.java.ast.JavaParserVisitor)

Example 3 with JavaParserVisitor

use of net.sourceforge.pmd.lang.java.ast.JavaParserVisitor in project pmd by pmd.

the class ParserTstUtil method getOrderedNodes.

public static <E> List<E> getOrderedNodes(Class<E> clazz, String javaCode) {
    Collector<E> coll = new Collector<>(clazz, new ArrayList<E>());
    LanguageVersionHandler languageVersionHandler = LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getDefaultVersion().getLanguageVersionHandler();
    ASTCompilationUnit cu = (ASTCompilationUnit) languageVersionHandler.getParser(languageVersionHandler.getDefaultParserOptions()).parse(null, new StringReader(javaCode));
    JavaParserVisitor jpv = (JavaParserVisitor) Proxy.newProxyInstance(JavaParserVisitor.class.getClassLoader(), new Class[] { JavaParserVisitor.class }, coll);
    jpv.visit(cu, null);
    new QualifiedNameResolver().initializeWith(ParserTstUtil.class.getClassLoader(), cu);
    new SymbolFacade().initializeWith(cu);
    new DataFlowFacade().initializeWith(languageVersionHandler.getDataFlowHandler(), cu);
    return (List<E>) coll.getCollection();
}
Also used : ASTCompilationUnit(net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit) LanguageVersionHandler(net.sourceforge.pmd.lang.LanguageVersionHandler) QualifiedNameResolver(net.sourceforge.pmd.lang.java.qname.QualifiedNameResolver) SymbolFacade(net.sourceforge.pmd.lang.java.symboltable.SymbolFacade) StringReader(java.io.StringReader) DataFlowFacade(net.sourceforge.pmd.lang.java.dfa.DataFlowFacade) ArrayList(java.util.ArrayList) List(java.util.List) JavaParserVisitor(net.sourceforge.pmd.lang.java.ast.JavaParserVisitor)

Aggregations

StringReader (java.io.StringReader)3 LanguageVersionHandler (net.sourceforge.pmd.lang.LanguageVersionHandler)3 ASTCompilationUnit (net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit)3 JavaParserVisitor (net.sourceforge.pmd.lang.java.ast.JavaParserVisitor)3 DataFlowFacade (net.sourceforge.pmd.lang.java.dfa.DataFlowFacade)2 SymbolFacade (net.sourceforge.pmd.lang.java.symboltable.SymbolFacade)2 ArrayList (java.util.ArrayList)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Set (java.util.Set)1 QualifiedNameResolver (net.sourceforge.pmd.lang.java.qname.QualifiedNameResolver)1