簡體   English   中英

如何訪問INRIA-SPOON中的“ this”變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM