如何使用ASM将特定方法的方法体复制到不同类中的另一个方法

时间:2015-10-28 14:53:34

标签: java java-bytecode-asm

我刚开始学习ASM(Java库)。我想知道如何将特定方法的方法体从类文件A复制到另一个类文件B.但是,生成类文件A,而源文件B将在B.class中编译。在生成类文件B期间有没有办法,我们可以将方法体从类文件A插入到B。

1 个答案:

答案 0 :(得分:0)

创建生成的类时,您必须访问要复制的方法。对于被访问的方法,您可以将所有方法调用委托给生成的类的方法编写器。

但请注意,这不一定有效。生成的类可能不会声明相同的字段或访问相同的成员。这会引发验证错误。