JDT ASTParser获取字符串字段的值

时间:2010-06-04 20:17:11

标签: eclipse parsing eclipse-jdt abstract-syntax-tree

有没有办法使用jdt ASTParser来获取java文件中声明的String字段的值。实际上我需要的是解决其他类的任何可能的依赖关系,例如
public String str =“somethig”+ SomeTherClass.SOMETHING_ELSE。

1 个答案:

答案 0 :(得分:2)

我想通了......实际上很简单..这就是代码:

ICompilationUnit cu = ....
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setResolveBindings(true);
parser.setSource(cu);
parser.setStatementsRecovery(true);
parser.setBindingsRecovery(true);
ASTNode node = parser.createAST(null);
node.accept(new YourVisitor());

然后在您的ASTVisitor实现中,您需要在被访问的节点上调用resolveConstantExpressionValue()。