使用Eclipse AST进行参数使用

时间:2012-07-09 15:30:11

标签: java eclipse abstract-syntax-tree eclipse-jdt

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

例如:

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

 }

我希望能够识别m1方法调用使用'param1',并且m2方法调用使用'param2',并且m3使用'param1'和'param2'。我可以用ASTVisitor做到这一点吗?我没有运气,因为MethodDeclaration.parameters()提供了SingleVariableDeclaration列表,而MethodInvocation.arguments()提供了Expression列表。我没有看到SingleVariableDeclaration和Expression之间的链接。我可以用他们的名字来分析它们,但这太天真了。

1 个答案:

答案 0 :(得分:1)

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