我正在使用 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”类型的visitor方法。那时我想在访问其余代码行之前找出变量“s”的所有引用。这可能吗?我想到了使用 JDT SearchEngine 并在那时调用以分别解析引用。但是没有成功。我可以只使用 AST 本身吗?
请注意,我在独立程序中使用 JDT AST,而不是作为 Eclipse 插件项目。在这种情况下我是否可以使用 SearchEngine 我有点困惑,因为它无法解析给定代码单元(类、方法等)的 IJava* 类型。请分享您的专业知识来解决这个问题。