我正在检查使用 JDT 的方法的调用并对其参数执行检查。我正在使用访问 MethodInvocation 节点并执行此操作的 AST 访问者类。我在 Visitor 类中使用以下方法。
public boolean visit(MethodInvocation node) {
if (node.getName().toString().equals("createQuery")) {
String argument= node.arguments().get(0).toString();
// process the argument here
}
return true;
}
但是作为变量声明一部分的调用没有被访问。
例如:如果我正在寻找方法“createQuery”的调用,将访问以下调用。
session.createQuery("some query here");
但是这个没有被访问过。
Query query = session.createQuery("another query here");
我怎样才能访问这些陈述并以适当的方式获取论点?
请帮忙。