Laden Sie die Java-Parser von http://javaparser.github.io/javaparser/
Sie werden einen Code schreiben. Dieser Code wird der Parser aufrufen ... es wird Ihnen ein Compilation zurück:
InputStream in = null;
CompilationUnit cu = null;
try
{
in = new SEDInputStream(filename);
cu = JavaParser.parse(in);
}
catch(ParseException x)
{
// handle parse exceptions here.
}
finally
{
in.close();
}
return cu;
Hinweis: SEDInputStream ist eine Unterklasse von Eingangsstrom. Sie können einen FileInputStream verwenden, wenn Sie möchten.
Sie müssen einen Besucher erstellen. Ihr Besucher wird leicht sein, weil Sie nur daran interessiert sind in Methoden:
public class MethodVisitor extends VoidVisitorAdapter
{
public void visit(MethodDeclaration n, Object arg)
{
// extract method information here.
// put in to hashmap
}
}
den Besucher aufzurufen, dies zu tun:
MethodVisitor visitor = new MethodVisitor();
visitor.visit(cu, null);
[Röster] (https://github.com/forge/roaster) bietet eine fließende API für die Arbeit mit Java-Code. – koppor