0

呼び出し元メソッドによって宣言されたパラメーターを利用する 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 の間のリンクが表示されません。名前で分析することもできますが、それはあまりにも単純すぎます。

4

1 に答える 1

1

バインドは、変数、フィールド、メソッド、クラスなどを識別する決定的な方法です。ここでは、パラメーター宣言の IVariableBinding と参照を比較する必要があります。

于 2012-07-09T15:45:42.943 に答える