我有一个类似下面的课程
class A{
private var1, var2;
public void methodA(){
sout(var1);
}
public void methodB(){
sout(var1);
sout(var2);
}
}
在此代码段中,我有两个实例变量 var1 , var2 的类,以及两个方法 methodA , methodB 。 methodA 和 methodB 中都引用了 var1 。如何从java类中提取此信息?
答案 0 :(得分:2)
您可以使用此库:JavaParser Core
JavaAnalyzer jpa = new JavaAnalyzer(this, "A.java");
AtomicBoolean var1IsReferencedInMethodA = new AtomicBoolean(false);
jpa.visit((MethodDeclaration methodDeclaration) -> {
var1IsReferencedInMethodA.setTrueWhen(methodDeclaration.getName().equals("methodA")
&& (methodDeclaration.getBody().getStmts().get(0).toString().equals("var1")));
});
System.out.println("var1 is referenced in methodA(): " + var1IsReferencedInMethodA);