1

我有一个带有方法 m() 的 A 类和一个带有方法 n() 的 B 类。在 AI 中有一个类型为 B 的字段 b。在 m() 中,有时会调用 bn()。我需要用 ByteBuddy 更改 A 的代码,以便在 bn() 调用之前和之后执行一些操作。我需要一些建议/提示/提示来解决问题。

提前致谢,

拉杜

4

1 回答 1

0

您只能通过使用底层 ASM API 编写自定义字节代码在 Byte Buddy 中执行此操作。Byte Buddy 不提供任何高级构造来更改方法中的任何代码。

API 通过注册 AsmVisitorWrapper 公开。

或者,您可以创建 Bn() 的子类,在其中添加此拦截逻辑并将其设置为 A 的字段。但这会影响通过 A 的所有调用。

于 2016-05-14T16:39:39.113 回答