2014-11-06 101 views
1

我正在使用Java JDT的访问者系统来读取源代码。我希望找到例如方法调用:Java JDT查找方法

System.out.println(i); 

我了解访问者模式,所以我需要的东西,如:

public boolean visit(MethodPattern node) { 

//code here 

} 

,但我不知道节点的类型应该是什么等等我可以访问方法调用中的信息。如“我”在下面的示例中的第一个例子或S:

foo(String s) 
+0

一个很好的工具来分析你的代码是ASTView。它可以显示编辑器中标记的任何代码的AST。您可以从更新站点将其安装到Eclipse中http://www.eclipse.org/jdt/ui/update-site – 2014-11-07 08:25:03

回答

0

我不知道你已经拍摄方法签名visit(MethodPattern node)。但是您可以覆盖visit(MethodInvocation node)以便能够检查方法调用。然后,您可以使用the passed node查询方法参数等。

public class MyVisitor extends org.eclipse.jdt.core.dom.ASTVisitor { 

    public boolean visit(MethodInvocation node) { 
     List<?> arguments = node.getArguments(); 
     // do something with the arguments, etc. 
    } 
} 
+0

工作,非常感谢! – Steven 2014-11-06 16:59:40