如何使用bytebuddy更改方法签名?

时间:2019-07-12 11:50:08

标签: java agent byte-buddy

bytebuddy是否可以向现有方法添加参数?我的意思是,我在对类进行检测时想动态添加参数吗?

2 个答案:

答案 0 :(得分:0)

在转换DSL中匹配方法时,可以注册Transformer。这样,您可以更改任何属性。但是,如果添加了一个参数,请注意,由于签名已更改,因此该方法的调用站点将无法继续工作,通常不建议这样做,并且通常还有其他方法可以实现您要执行的操作。如果您在问题中添加了更多详细信息,也许我可以建议一个替代方法。

答案 1 :(得分:0)

例如,如果我更新原始方法签名:

void f(int x)void f(int x, String y)