ByteBuddy에서 바이트 코드의 일부 유형을 대체 할 수 있습니까? E. g. 내가 수업을ByteBuddy를 사용하여 바이트 코드의 유형을 대체하십시오.
class MyClass {
Foo makeFoo() {
return new Foo();
}
}
이 경우 내가
class MyClass {
Bar makeFoo() {
return new Bar();
}
}
에 해당 있도록 내가이 클래스의 바이트 코드를 변환 할 수 있습니다. 이자형. Foo
의 모든 어커런스를 Bar
으로 바꿉니다.
ByteBuddy는 ASM에 정착하여 특정 유스 케이스에 대해 더 쉬운 인터페이스를 제공하지만, 유형의 발생을 대체하는 것은 이러한 사용 사례가 아니라고 생각합니다. ASM이 클래스의 상수 풀만 처리함으로써 모든 발생을 쉽고 효율적으로 대체 할 수 있으므로 ASM이 이러한 유형의 작업에 최선의 선택이 아닌 것으로 생각할 수도 있습니다. ASM은 직접 지원하지 않습니다. – Holger