当使用@Advice拦截方法的实现时,是否可以访问局部变量?

最佳答案

不,不是,这部分是设计使然。方法的实现应该是私有细节,而建议则在调用之后和之前添加代码,其中方法的签名是其API的一部分。

在某些时候,Byte Buddy可能会提供替换某些字段和方法访问的可能性,但方式是您不依赖于实现。

为了与显式字节代码混合,Byte Buddy提供AsmVisitorWrapper来直接使用ASM API,这比Byte Buddy的高级API更适合于字节代码级别的操作。

08-04 05:23