如何使用javaparser获取类的方法内部使用的变量名

如何使用javaparser获取类的方法内部使用的变量名,java,javaparser,Java,Javaparser,我正在分析的课程: public class Users{ private String name = "Jacob"; private String address = "711 11th Ave, New York"; private int age = 28; public String verifyAgeLimit() { String msg = (this.age < 16) ?

我正在分析的课程:

public class Users{
    private String name = "Jacob";
    private String address = "711 11th Ave, New York";
    private int age = 28;
    
    public String verifyAgeLimit() {
        String msg = (this.age < 16) ? " is not allwed to use it." : " is Allwed to use it.";   
        return this.name+msg;
    }
    
    public String showName() {
        return "User name is:"+this.name;
    }
    
    public String showAddress() {
        return this.address;
    }

    public String hello() {
        return "Hello World";
    }
}
我正试图得到这是输出

verifyAgeLimit()

verifyAgeLimit()

showAddress()这个地址

我尝试将整个方法转换为sting并读取字符串以找出名称,但它变得太复杂,而且不太准确


有什么办法可以解决吗?

所用变量的名称由节点保存,字段由节点保存。为它们添加一个访问者,或者以其他方式递归到它们。

使用NameExpr,它可以获取在方法中声明的变量,而不是类变量。@RajB009它们在
FieldAccessExpr
中。我现在使用JP,但我不是真正的“高级”。我今天尝试了这个,我认为你的
visitor
非常正确,但是您需要在方法中添加第二个
Visitor
。就在这里:然后这个方法应该会有帮助。
public void visit(MethodDeclaration n, Object arg) {        
   System.out.println(n.getName().toString());//It displays the full method
   super.visit(n, arg);
}