1.概述
在上一篇文章:【ASM】字节码操作 转换已有的类 修改方法 替换方法调用 中我们学会了,替换方法中的静态调用与动态调用。
本章节我们来学习一个 查找Instruction。
2.查找Instruction
2.1如何查找Instruction
在方法当中,查找某一个特定的Instruction ,那么应该怎么做呢?简单来说,就是通过MethodVisitor 类当中定义的visitXxxInsn() 方法来查找。
让我们回顾-下MethodVisitor类当中定义了哪些visitXxx() 方法。
在MethodVisitor类当中,定义的主要visixxx()方法可以分成四组:
- 第一组,visitCode() 方法,标志着方法体( method body )的开始。
- 第二组,visitXxxInsn()方法,对应方法体( method body )本身,这里包含多个方法。
- 第三组,visitMaxs() 方法,标志着方法体( method body )的结束。
- 第四组,visitEnd()方法,是最后调用的方法。
在方法当中,任何一条Instruction