2

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

4

1 回答 1

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()。

于 2010-06-05T20:57:38.860 回答