Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “解释”;itf“;ASM 5中visitMethodInsn的参数_Java_Java Bytecode Asm - Fatal编程技术网

Java “解释”;itf“;ASM 5中visitMethodInsn的参数

Java “解释”;itf“;ASM 5中visitMethodInsn的参数,java,java-bytecode-asm,Java,Java Bytecode Asm,对于ASM 5,不推荐使用原始的MethodVisitor.visitMethodInsn()。添加了一个名为itf的新参数。API引用说它的意思是“如果方法的所有者类是接口” 但是我认为如果所有者是一个接口,opcode应该是INVOKEINTERFACE,itf应该是true,opcode应该是INVOKEVIRTUAL,如果所有者是一个普通类,itf应该是falseitf应始终可从操作代码推断 附加参数的要点是什么?ASM5添加了对Java 8字节码格式的支持,该格式允许在接口中使用静态方

对于ASM 5,不推荐使用原始的
MethodVisitor.visitMethodInsn()
。添加了一个名为
itf
的新参数。API引用说它的意思是“如果方法的所有者类是接口”

但是我认为如果所有者是一个接口,
opcode
应该是
INVOKEINTERFACE
itf
应该是true,
opcode
应该是
INVOKEVIRTUAL
,如果所有者是一个普通类,
itf
应该是false<代码>itf应始终可从
操作代码
推断


附加参数的要点是什么?

ASM5添加了对Java 8字节码格式的支持,该格式允许在接口中使用静态方法,因此现在至少可以在接口方法上使用
invokestatic

invokespecial
也可以应用于接口,例如调用继承的
默认方法。