检测调用指令中的方法在ASM/java字节码中是否是本机的



是否有一种方法可以知道在字节码调用指令中的方法是否是本机方法?我正在寻找一个ASM特定的解决方案。

visitMethodInsn(int opcode, String owner, String name, String desc))似乎没有提供这个信息。如果是,我错过了什么?或者是否有不同的方法来确认要执行的方法是否是本机的?

我知道,当您使用int access参数访问ClassVisitor类中的visitMethod(int access, String name, String desc, String signature, String[] exceptions)方法时,您可以这样做。但是我对在方法的调用点得到这些信息很感兴趣。

我正在使用ASM Core API。

这是我用ASM编写的Java程序的仪表。

您无法在调用站点获得信息,因为它在调用站点不知道。调用站点不知道实际将调用方法的哪个重写。

最新更新