ASM helper class 缓存所有指令

ASM helper class to cache all instructions

所以我想实现一个方法代码的状态转换,它从我的MethodVisitor感知到一个特殊的指令A开始,然后接下来的所有指令都需要缓存,直到访问者遇到一个特殊的调用指令到a方法returns某个结果,那么我需要在指令A之前注入一些代码,然后输出缓存在指令缓存中的所有指令。有没有帮助 class 帮助我听所有的指令访问,并可以在需要时应用它们?

如果您只使用核心 API,您必须自己实施缓存 (AFAIK)。 对于您的情况,最好使用 Tree API (请参阅手册),您可以在其中访问包含给定方法的所有指令的列表。有关如何使用树 API.

的示例,请参阅 http://www.geekyarticles.com/2011/10/manipulating-java-class-files-with-asm_13.html