我正在与 INRIA Spoon 合作。
我有一些动态方法调用,如下所示:
a.doSomething();
我可以使用 CtInspiration
实例的 getTarget()
方法获取变量访问 a
。我的任务是生成代码将 a
存储到文件中。为此,我需要 a
的类型和源位置(类名、行等),以便我可以生成类似 logger.logSerialized(a, "My.Class:21")
或类似 logger.logDoubleArrayList(a, "My.otherClass:23)"
。
到目前为止,一切顺利,我通过获取 CtInspiration
实例的 getTarget
方法的结果,成功地做到了这一点。但是,当调用的目标等于 this
时,例如:
doSomething(); // equivalent to -> this.doSomething();
getTarget
返回null。
我怎样才能获得给定CtInspiration
目标的this
变量访问?
最佳答案
通过查找 CtThisAccess
的目标 (getTarget
) 实例或直接处理 CtThisAccess
关于java - 如何访问 INRIA-SPOON 中的 "this"变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34587748/