1
我想,以确定方法,在一个类中,包含一个特定的方法调用来解析Java源文件(.java)。如何解析Java方法的身体吗?
在下面的例子中,我需要知道哪些方法包含一个呼叫到XYZ()。因此,分析器应返回method01和method03
public class A{
private void method01(){
//some statements
xyz();
//more statements
}
private void method02(){
//some statements
xyz123();
//more statements
}
private void method03(){
//some statements
xyz();
//more statements
}
}
我尝试使用JavaParser类(com.github.javaparser)。我创建了一个vistor并通过覆盖
public void visit(MethodDeclaration n, Void arg)
我能够“访问”班级中的所有方法。
但我不知道如何解析造访的方法的主体。 。我不愿意用n.getBody()的toString()包含(“XYZ()”)
有很多方法来解决这个问题,不过这应该工作发现。当然,我们不知道是哪个方法名为XYZ的我们呼吁,只是我们是calland的方法名为XYZ的 –