Как получить имя класса метода с помощью Eclipse JDT ASTParser?
То, что я пытаюсь сделать, это получить имя класса метода. Например, я хочу получить класс методов 'till' и 'search'. Вот код.
Query query = new Query(queryStr).until(dateStr);
QueryResult queryResult = twitter1.search(query);
Из этих примеров ожидаемые результатыQuery.until а такжеSearchResource.search, Но когда я использовал этот код ниже, я только получилдо а такжепоиск, нет имени класса. Если я использую MethodInvocation.getExpression (), я могу получить имена экземпляров: new Query (queryStr) и twitter1. Но они не то, что я действительно хочу.
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setSource(str.toCharArray());
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setResolveBindings(true);
final CompilationUnit cu = (CompilationUnit) parser.createAST(null);
cu.accept(new ASTVisitor() {
public boolean visit(MethodDeclaration node){
System.out.println("Declaration of '"+node.getName()+"' at line"
+ cu.getLineNumber(node.getStartPosition()));
if (node.getName().toString().equals("testSearch")){
Block block =node.getBody();
block.accept(new ASTVisitor() {
public boolean visit(MethodInvocation node) {
//System.out.println(node.getExpression());
System.out.println("Name: " + node.getName());
return true;
}
});
}
return true;
}