java – ASM 5中visitMethodInsn的“itf”参数说明
作者:互联网
对于ASM 5,不推荐使用原始的MethodVisitor.visitMethodInsn().添加了一个名为itf的新参数. API参考说它意味着“如果方法的所有者类是一个接口”.
但我认为操作码应该是INVOKEINTERFACE,如果所有者是接口,则itf应该为true,操作码应该是INVOKEVIRTUAL,如果所有者是普通类,则itf应该为false.它应始终可以从操作码中推断出来.
附加论点有什么意义?
解决方法:
ASM 5增加了对Java 8字节码格式的支持,该格式允许接口中的静态方法,因此现在至少可以在接口方法上调用invokestatic.
标签:java,java-bytecode-asm 来源: https://codeday.me/bug/20190629/1321226.html