我有一个类似以下示例的情况
public String test(Trail trail) {
AnotherClass.access(trail);
this.executeAnotherMethod(trail);
futureCall(trail::end);
return "emptyString";
}
我想使用字节伙伴来做类似的事情
public String test(Trail trail) {
Trail clonedTrail = trail.clone("test");
AnotherClass.access(clonedTrail);
this.executeAnotherMethod(clonedTrail);
futureCall(clonedTrail::end);
return "emptyString";
}
我曾尝试Advice
截获该呼叫,但这弄乱了对象引用。我一直在研究字节预算测试用例以及阅读ASM,但到目前为止还没有取得很大进展。
答案 0 :(得分:0)
这可以通过覆盖参数的建议来完成。
@Advice.OnMethodEnter
static void enter(@Advice.Argument(readOnly = false) Trail trail) {
trail = trail.clone("test");
}