org.eclipse.jdt.core.dom.AST的API用法示例

时间:2014-05-18 02:23:02

标签: java eclipse abstract-syntax-tree

我想对Java源代码的AST(抽象语法树)进行分析。我能够从源文件生成AST,但无法找到如何打印完整AST以及如何迭代AST的各个节点的API使用示例。

String fileContent = ASTParserDemo1.readFileToString("file path");
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setSource(fileContent.toCharArray());
parser.setKind(ASTParser.K_COMPILATION_UNIT);
final CompilationUnit cu = (CompilationUnit) parser.createAST(null);
AST ast = cu.getAST();

如何打印ast(我想执行模式匹配并分析ast)

1 个答案:

答案 0 :(得分:0)

要使用toString()类的CompilationUnit方法打印文件的完整源代码。

如果您想从CompilationUnit开始从根目录直接探索树。

然而,使用访问者ASTVisitor不是很方便也是更好。