0

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

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

我知道当你使用参数访问类中visitMethod(int access, String name, String desc, String signature, String[] exceptions)的方法时,你可以这样做。但我有兴趣在该方法的调用站点获取这些信息。ClassVisitorint access

我正在使用 ASM 核心 API。

这适用于我正在使用 ASM 编写的 Java 程序的检测器。

4

1 回答 1

3

您无法在呼叫站点获取信息,因为它在呼叫站点不为人所知。调用站点不知道实际调用该方法的哪个覆盖。它在运行时解决。

于 2013-04-23T23:37:11.700 回答