从未调用 MethodVisitor 的 visitParameter
visitParameter of MethodVisitor is never called
我需要使用 asm 5.2 获取方法参数名称。我的来源是 java 1.8。查看 MethodVisitor#visitParameter
的 javadoc 似乎这正是我需要的:
Visits a parameter of this method.
但是这个方法从来没有被调用过。我认为可能是缺少调试信息有关,所以我用-g:source,lines,vars
编译了类,但这也没有帮助。
我求助于使用 visitLocalVariable
,但出于我正在编写的实用程序的目的,我不关心方法的代码,所以我正在考虑提供 ClassReader.SKIP_CODE
ClassReader 的接受方法。
我是不是漏了什么?有没有办法获取访问代码的参数名称w/o
您需要使用 -parameters
选项编译 class 以使 javac 包含参数名称。这就是为什么永远不会调用该方法的原因,如果没有选项,则不包括您的参数名称。
或者,您可以检查 the visitLocalVariable
method 参数名称。对于包含调试符号的非抽象方法,参数名称将包含在此处。
我需要使用 asm 5.2 获取方法参数名称。我的来源是 java 1.8。查看 MethodVisitor#visitParameter
的 javadoc 似乎这正是我需要的:
Visits a parameter of this method.
但是这个方法从来没有被调用过。我认为可能是缺少调试信息有关,所以我用-g:source,lines,vars
编译了类,但这也没有帮助。
我求助于使用 visitLocalVariable
,但出于我正在编写的实用程序的目的,我不关心方法的代码,所以我正在考虑提供 ClassReader.SKIP_CODE
ClassReader 的接受方法。
我是不是漏了什么?有没有办法获取访问代码的参数名称w/o
您需要使用 -parameters
选项编译 class 以使 javac 包含参数名称。这就是为什么永远不会调用该方法的原因,如果没有选项,则不包括您的参数名称。
或者,您可以检查 the visitLocalVariable
method 参数名称。对于包含调试符号的非抽象方法,参数名称将包含在此处。