我正在使用带有Java JDT的访问者系统来读取源代码。我希望找到一个方法调用,例如:
System.out.println(i);
我理解访客模式,所以我需要这样的东西:
public boolean visit(MethodPattern node) {
//code here
}
但我不知道节点的类型应该是什么,以便我可以访问方法调用中的信息。例如第一个示例中的“i”或以下示例中的s:
foo(String s)
答案 0 :(得分: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.
}
}