我正在尝试使用 asm 从 Java 类字节码中提取方法参数信息MethodVisitor。visitParameter的方法MethodVisitor未被调用(因为编译后的类文件中不存在参数名称)。如何获取方法参数及其类型的计数?
到目前为止我发现的唯一的就是fromdesc的参数。我可以从 asm-util 复制粘贴类,重写大约 50 行代码以将参数声明存储到 List/array 而不是单个。visitMethodMethodVisitorTraceSignatureVisitorStringBuffer
答案“/sf/ask/1264311191/”中建议了另一种选择:
可以使用以下要点中的代码根据方法描述来计算该方法的参数数量:https: //gist.github.com/VijayKrishna/6160036。使用该
parseMethodArguments(String desc)方法,您可以轻松计算该方法的参数数量。
从我的角度来看,复制粘贴和重写TraceSignatureVisitor还是更好。
但我认为应该有更简单的方法来处理 asm-util 中的方法签名。有没有?