ASM帮助程序类用于缓存所有指令

时间:2015-01-19 19:04:51

标签: java bytecode java-bytecode-asm

所以我试图实现一个方法代码的有状态转换,它从我的MethodVisitor意义上开始一个特殊的指令A,然后所有以下指令都需要被缓存,直到访问者遇到一个特殊的调用指令给一个方法返回一定的结果,然后我需要在指令A之前注入一些代码,然后输出缓存在指令缓存中的所有指令。是否有帮助课程帮助我听取所有指导访问,并可以在需要时应用它们?

1 个答案:

答案 0 :(得分:2)

如果您只使用核心API,则必须自己实施缓存(AFAIK)。 对于您的情况,最好使用Tree API(参见手册),您可以使用给定方法的所有指令访问列表。有关如何使用Tree API的信息,请参阅http://www.geekyarticles.com/2011/10/manipulating-java-class-files-with-asm_13.html