如何在INRIA-SPOON中访问"this"变量



我正在使用INRIA Spoon。

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

a.doSomething();

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

到目前为止,我通过获取一个CtInvocation实例的getTarget方法的结果,很好地做到了这一点。然而,当调用的目标等于this时,例如:

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

则CCD_ 11返回null

如何获得给定CtInvocation的目标this变量访问

通过查找CtThisAccess的目标(getTarget)实例或直接处理CtThisAccess

相关内容

  • 没有找到相关文章

最新更新