使用JDT Eclipse解析Java方法的抽象语法树
我正在从事一个项目,该项目必须使用EclipseJDT来解析java方法并为它们生成抽象语法树 我编写了以下代码:
String method ="\n"+
" public void sayHello() {\n"+
" System.out.println(\"Hello \"+name+\"!\");\n"+
" }\n";
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setSource(method.toCharArray());
parser.setResolveBindings(true);
parser.setBindingsRecovery(true);
CompilationUnit unit = (CompilationUnit)parser.createAST(null);
这个片段只是创建了AST,但我被卡住了!! 我想访问任何java方法的AST并打印其路径。 我可以得到打印AST for java方法吗
# 1 楼答案
Eclipse AST(实际上是大多数AST)广泛利用访问者模式
因此,从你的角度来看,你所要做的就是实例化一个访问者,让它访问编译单元。然后它会自动导航字段、方法、注释
对于您的具体需求,我认为您可以从以下代码开始: