假設我有一個方法m
:可以Byte Buddy訪問方法的本地變量名稱嗎?
public void m() {
String foo = "foo";
int bar = 0;
doSomething(foo, bar);
}
我想用ByteBuddy儀器代碼,以便調用m
doSomething
時,它會自動把的foo
和bar
值成HashMap
,相當多的東西看起來像:
public void m() {
String foo = "foo";
int bar = 0;
context.put("foo", foo); // new code injected
context.put("bar", bar); // new code injected
doSomething(foo, bar);
}
有無論如何通過ByteBuddy做這個儀器?
好,使用ASM,這當然是可能的,但這不是你想要聽到的...... – fge
你能否爲這種情況提供ASM解決方案? thx ...綠色 –