[英]How to gain access to “this” variable in INRIA-SPOON
我正在使用INRIA Spoon。
我有一些動態方法調用,如下所示:
a.doSomething();
我可以獲得對可變訪問 a
使用getTarget()
的方法CtInvocation
實例。 我的任務是生成代碼來存儲a
到文件中。 要做到這一點,我需要的類型和源位置(類名,線,等等) a
像,所以我可以生成代碼logger.logSerializable(a, "My.Class:21")
或類似的logger.logDoubleArrayList(a, "My.otherClass:23)"
。
到目前為止,我很好地做到了這一點,方法是獲取CtInvocation
實例的getTarget
方法的結果。 但是,當調用的目標等於this
,例如:
doSomething(); // equivalent to -> this.doSomething();
getTarget
返回null 。
我怎樣才能得到this
變量訪問一個給定的CtInvocation
的目標是?
通過查找CtThisAccess
目標( getTarget
)實例或通過直接處理CtThisAccess
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.