Как получить доступ к этой переменной в INRIA-SPOON

Я работаю с INRIA Spoon.

У меня есть некоторые динамические вызовы методов, такие как следующий:

a.doSomething();

Я могу получить доступ к переменной a с использованием getTarget() метод CtInvocation пример. Моя задача - сгенерировать код для хранения a в файл. Для этого мне нужен тип и исходная позиция (имя класса, строка и т. Д.) a так что я могу генерировать код как logger.logSerializable(a, "My.Class:21") или как logger.logDoubleArrayList(a, "My.otherClass:23)",

Пока все хорошо, мне удалось сделать это очень хорошо, получив результат getTarget метод CtInvocation пример. Тем не менее, когда цель вызова равна this как, например:

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

getTarget возвращает ноль.

Как я могу получить this доступ к переменной один данный CtInvocation нацеливается?

1 ответ

Решение

В поисках целей (getTarget) экземпляр CtThisAccess или путем непосредственной обработки CtThisAccess

Другие вопросы по тегам