Итак, я пытаюсь реализовать преобразование кода метода с отслеживанием состояния, он начинается с моего MethodVisitor, чувствуя специальную инструкцию A, а затем все следующие инструкции необходимо кэшировать до тех пор, пока посетитель не встретит специальную инструкцию вызова для метода, который возвращает определенный результат, то мне нужно ввести некоторый код перед инструкцией A, а затем вывести все инструкции, кэшированные в кэше инструкций. Есть ли класс помощи, который поможет мне выслушать все визиты с инструкциями и может применить их при необходимости?
Вспомогательный класс ASM для кэширования всех инструкций
Ответы (1)
В случае, если вы используете только основной API, вы должны реализовать кэширование самостоятельно (AFAIK). В вашем случае лучше использовать Tree API (см. в руководстве), где у вас есть доступ к списку со всеми инструкциями из данного метода. См. http://www.geekyarticles.com/2011/10/manipulating-java-class-files-with-asm_13.html, например, как использовать Tree API.
person
Grzesuav
schedule
20.01.2015
В яблочко! Я использовал Tree API вместе с Core API.
- person Gelin Luo; 21.01.2015