【问题标题】:how to change method signature using bytebuddy?如何使用 bytebuddy 更改方法签名?
【发布时间】:2019-07-12 11:50:08
【问题描述】:

bytebuddy 是否可以为现有方法添加参数?我的意思是当我检测类时,我想动态添加参数?

【问题讨论】:

    标签: java agent byte-buddy


    【解决方案1】:

    当您匹配转换 DSL 中的方法时,您可以注册 Transformer。这样,您可以更改任何属性。但是,如果您添加一个参数,请注意,由于签名已更改,此方法的任何调用站点都不会继续工作,通常不建议这样做,并且通常有其他方法可以实现您正在尝试做的事情。如果您在问题中添加了更多细节,也许我可以提出替代方案。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多