我应该使用什么ASM API?

时间:2012-02-25 20:45:19

标签: java assembly

我最近问了这个问题: Best choice? Edit bytecode (asm) or edit java file before compiling

我选择使用ASM。

现在,在阅读文档时,我注意到ASM提供了2个API(基于事件和基于对象)

对于我的问题,我最合适的API是什么?

我在考虑这个事件。因为我想找到每个比较/具体操作

你有什么看法?

1 个答案:

答案 0 :(得分:2)

这完全取决于您想要进行的转换类型。如果您的转换只需要在一个方法中对特定字节码进行操作,并在此字节码之前或之后插入代码,那么基于事件的api非常易于使用。

当您需要有关类中其他方法的信息或者您需要更多关于要修改的字节码的上下文时,基于树的api会派上用场。

编辑:也可以组合两种方法,首先构建树结构并确定有关该类的一些信息,然后使用基于事件的api转换此树节点。

相关问题