JDT ASTParser для получения значения строкового поля - PullRequest
2 голосов
/ 05 июня 2010

Есть ли способ использовать jdt ASTParser для получения значения поля String, объявленного в файле Java. На самом деле мне нужно разрешить любые возможные зависимости от других классов, например
public String str = "somethig" + SomeTherClass.SOMETHING_ELSE.

1 Ответ

2 голосов
/ 06 июня 2010

Я понял это ... это было довольно просто на самом деле ... вот код:

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 вам нужно вызвать resolConstantExpressionValue () на посещаемом узле.

...