问题描述
我正在使用 Java/ASM 并处理一个类的字节码,我想获取本地定义的变量的数据类型。
我已经写了基本的visitMethod
,但是我不确定如何获取本地定义的变量的数据类型。
public class CVisitor extends ClassVisitor{
public CVisitor(int api,ClassVisitor classVisitor) {
super(api,classVisitor);
// Todo Auto-generated constructor stub
}
@Override
public MethodVisitor visitMethod(int access,String name,String descriptor,String signature,String[] exceptions)
{
System.out.println(name);
MethodVisitor mv = cv.visitMethod(access,name,descriptor,signature,exceptions);
System.out.println("desc="+descriptor);
return null;
}
解决方法
AFAIR 字节码中不存在局部变量名称,因此无法实现。