1

我正在与 INRIA Spoon 合作。

我有一些动态方法调用,如下所示:

a.doSomething();

我可以使用实例的方法获得对变量的访问。 我的任务是生成代码以存储到文件中。为此,我需要 的类型和源位置(类名、行等),以便生成类似或类似的代码。agetTarget()CtInvocationaalogger.logSerializable(a, "My.Class:21")logger.logDoubleArrayList(a, "My.otherClass:23)"

到目前为止一切顺利,我设法通过获取实例getTarget方法的结果来做到这一点。CtInvocation但是,当调用的目标是 equalthis时,例如:

doSomething(); // equivalent to -> this.doSomething();

getTarget返回null。_

我怎样才能获得一个给定的目标this 变量访问CtInvocation

4

1 回答 1

1

通过寻找targets( getTarget)实例CtThisAccess或者直接处理CtThisAccess

于 2016-07-28T13:59:59.930 回答