【发布时间】:2018-03-08 17:28:57
【问题描述】:
我正在使用 ASTParser 解析一些代码,我需要节点的完全限定名称。我尝试了以下方法,但它不起作用。它仍然只给我一个简单的名字。
public static void parse(String str)
{
ASTParser parser = ASTParser.newParser(AST.JLS8);
parser.setSource(str.toCharArray());
parser.setResolveBindings(true);
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setBindingsRecovery(true);
Map options = JavaCore.getOptions();
JavaCore.setComplianceOptions(JavaCore.VERSION_1_7, options);
parser.setCompilerOptions(options);
CompilationUnit cu = (CompilationUnit) parser.createAST(null);
cu.accept(new ASTVisitor() {
public boolean visit(TypeDeclaration node) {
System.out.println(node.getName().getFullyQualifiedName());
return true;
}
有什么想法吗?谢谢!
【问题讨论】:
标签: java parsing tree abstract-syntax-tree eclipse-jdt