首页 > 解决方案 > 在 kotlin 是否有任何 hacky 方法来重新分配参数

问题描述

我正在尝试在 kotlin 使用 bytebuddy 创建 java-agent,但我需要重新分配函数参数以更改参数的行为

下面的代码给了我一条错误消息,说 val 不能被重新分配

  companion object {
    @JvmStatic
    @Advice.OnMethodEnter(suppress = Throwable::class)
    @Throws(Exception::class)
    private fun enter(
      @Advice.Origin method: String
    , @Advice.Argument(value = 1, readOnly = false) callback: Callback<HttpResponse>
    ) {
      callback = CallbackInterceptor(callback)
    }
  }

有什么办法可以在 kotlin 重新分配函数参数吗?或者 bytebuddy 有没有其他方法可以实现这一点?

标签: kotlincallbackbyte-buddy

解决方案


推荐阅读