При перехвате реализации метода с помощью @Advice
можно ли получить доступ к локальным переменным?Можно ли получить доступ к локальным переменным с помощью ByteBuddy's Advice?
4
A
ответ
2
Нет, это не так, и это частично по дизайну. Реализация метода должна быть частной, тогда как совет добавляет код после и перед вызовом, где подпись метода является частью его API.
В какой-то момент Byte Buddy может предложить возможность заменить определенные обращения к полю и методу, но так, чтобы вы не полагались на реализацию.
Для того, чтобы общаться с явным байтовым кодом, Byte Buddy предлагает AsmVisitorWrapper
, чтобы использовать API ASM напрямую, что лучше подходит для управления байтовым кодом на уровне байтов, чем API высокого уровня Byte Buddy.