特定のソースを解析するために JDT AST を使用しています。AST を使用しているときに関連するビジターをトリガーするときに、特定のオブジェクト/変数の参照を見つけたいと考えています。例: 次のコードを検討してください。
public class SampleClass {
public void printMe(){
System.out.println("hello");
}
public static void main(String a[]){
SampleClass s =new SampleClass();
// do some other work
s.printMe();
}
}
上記のコードを解析すると、「s」の変数宣言になると、「VariableDeclarationFragment」型のビジター メソッドが呼び出されます。その時点で、変数「s」のすべての参照を見つけてから、残りのコード行にアクセスしたいと思います。これは可能ですか?JDT SearchEngine を使用して、その時点で呼び出して参照を個別に解決することを考えました。しかし、成功しませんでした。AST自体だけでできますか?
Eclipse プラグイン プロジェクトとしてではなく、スタンドアロン プログラムで JDT AST を使用していることに注意してください。その場合、特定のコード単位 (クラス、メソッドなど) の IJava* タイプを解決できないため、SearchEngine を使用できるかどうか少し混乱しています。これを整理するためにあなたの専門知識を共有してください。