gpt4 book ai didi

java - 如何使用 ObjectWeb ASM 获取方法签名?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:57:00 33 4
gpt4 key购买 nike

目的:从java字节码文件中获取公共(public)方法签名(返回值、参数、方法名)。

我正在使用 ObjectWeb ASM 框架。

问题:我浏览了ASM的API规范并尝试了几个例子,但我仍然不知道如何获得签名。 MethodNode 类有一个签名字段,但值为空。

最佳答案

你可以尝试这样的事情:

ClassReader cr = new ClassReader(is);
cr.accept(new EmptyVisitor() {
public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
if((Opcodes.ACC_PUBLIC & access)>0) {
System.err.println("method name: " + name);
System.err.println("return type: " + Type.getReturnType(desc));
System.err.println("argument types: " + Arrays.toString(Type.getArgumentTypes(desc)));
}
return super.visitMethod(access, name, desc, signature, exceptions);
}
}, 0);

关于java - 如何使用 ObjectWeb ASM 获取方法签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6118434/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com