KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm parsing Java Source Files to collect various informations about my classes. Therefore I'm using the JavaParser , since I could not find a good alternative (good suggestions have the chance to become "answers") to parse Source Files. I already managed to get Annotations of all methods from my class. The code looks like this: package de.mackaz; import japa.parser.JavaParser; import japa.parser.ParseException; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import japa.parser.ast.CompilationUnit; import japa.parser.ast.body.MethodDeclaration; import japa.parser.ast.expr.AnnotationExpr; import japa.parser.ast.expr.MarkerAnnotationExpr; import japa.parser.ast.expr.MemberValuePair; import japa.parser.ast.expr.NormalAnnotationExpr; import japa.parser.ast.visitor.VoidVisitorAdapter; import java.io.FileInputStream; public class JavaSourceUtils { public static void main(String[] args) throws Exception { File f = new File("/home/mackaz/SourceFile.java"); inspectJavaFile(f); } public static void inspectJavaFile(File pFile) throws FileNotFoundException, ParseException, IOException { CompilationUnit cu; FileInputStream in = new FileInputStream(pFile); try { cu = JavaParser.parse(in); } finally { in.close(); } new MethodVisitor().visit(cu, null); } /** * Simple visitor implementation for visiting MethodDeclaration nodes. */ private static class MethodVisitor extends VoidVisitorAdapter { @Override public void visit(MethodDeclaration n, Object arg) { System.out.println(n.getName()); if (n.getAnnotations() != null) { for (AnnotationExpr annotation : n.getAnnotations()) { System.out.println(annotation.getClass()); // MarkerAn
Tags (comma-separated)
Save Edits
Cancel