我正在与 INRIA Spoon 合作。
我有一些动态方法调用,如下所示:
a.doSomething();
我可以使用实例的方法获得对变量的访问。 我的任务是生成代码以存储到文件中。为此,我需要 的类型和源位置(类名、行等),以便生成类似或类似的代码。a
getTarget()
CtInvocation
a
a
logger.logSerializable(a, "My.Class:21")
logger.logDoubleArrayList(a, "My.otherClass:23)"
到目前为止一切顺利,我设法通过获取实例getTarget
方法的结果来做到这一点。CtInvocation
但是,当调用的目标是 equalthis
时,例如:
doSomething(); // equivalent to -> this.doSomething();
getTarget
返回null。_
我怎样才能获得一个给定的目标this
变量访问CtInvocation
?