2010-06-04 3 views
2

Existe-t-il un moyen d'utiliser jdt ASTParser pour obtenir la valeur d'un champ String déclaré dans un fichier java. En fait, ce dont j'ai besoin est de résoudre toutes les dépendances possibles d'autres classes, par ex.
public Chaîne str = "somethig" + SomeTherClass.SOMETHING_ELSE.JDT ASTParser pour obtenir la valeur d'un champ chaîne

Répondre

2

I figured it out ... il était assez simple en fait ..here le code:

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

Ensuite, dans votre mise en œuvre du ASTVisitor vous devez appeler resolveConstantExpressionValue() sur le noeud visité.

Questions connexes