【发布时间】:2016-12-15 08:13:57
【问题描述】:
ByteBuddy 是否可以替换字节码中某种类型的出现?例如。如果我有课
class MyClass {
Foo makeFoo() {
return new Foo();
}
}
我想把这个类的字节码转换成等价于
class MyClass {
Bar makeFoo() {
return new Bar();
}
}
我。 e.将所有出现的Foo 替换为Bar。
【问题讨论】:
-
ByteBuddy 选择 ASM 并为某些用例提供更简单的接口,但我认为,替换类型的出现不在这些用例中。我什至认为 ASM 不是此类任务的最佳选择,因为您可以通过仅处理类的常量池(ASM 不直接支持的唯一操作)轻松有效地替换所有事件。
标签: java bytecode instrumentation bytecode-manipulation byte-buddy