编程语言
首页 > 编程语言> > java – ASM 5中visitMethodInsn的“itf”参数说明

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