1.概述
在上一篇文章:【ASM】字节码操作 转换已有的类 查找Instruction 方法调用了哪些方法 方法被哪些方法调用 我们知道了,IDEA 如何做到的查找方法的调用类。
在本章节,我们将做更为复杂的一些操作。
1.1 复杂的变换
1.1.1 stateless transformations
The stateless transformation does not depend on the instructions that have been visited before thelcurrent one
举几个关于stateless transformation的例子:
- 添加指令:在方法进入和方法退出时,打印方法的参数和返回值、计算方法的运行时间。
- 删除指令:移除NOP、清空方法体。
- 修改指令:替换调用的方法。
这种stateless transformation实现起来比较容易,所以也被称为simple transformations.
1.1.2 stateful transformations
The stateful tran