使用Eclipse AST进行参数使用



我正在寻找一种方法来定位哪些MethodInvocation表达式使用调用方方法声明的参数。

例如:

 public void caller(int param1, int param2){
     m1(param1)
     m2(param2)
     m3(param1, m4(param2))
 }

我希望能够确定m1方法调用使用"param1",m2方法调用使用了"param2",m3使用了"param1"one_answers"param2"。我可以和ASTVisitor一起做这件事吗?我运气不好,因为MethodDeclaration.parameters()提供了SingleVariableDeclaration的列表,而MethodInvocation.arguments()则提供了Expression的列表。我没有看到SingleVariableDeclaration和Expression之间的链接。我可以根据他们的名字来分析他们,但那太天真了。

绑定是识别变量、字段、方法、类等的决定性方法。在这里,您需要比较参数声明和引用的IVariableBinding。

最新更新