如何在使用Javassist的方法中获取字段/对象名称
我可以在课堂上获得姓名字段
ClassPool cp = ClassPool.getDefault();
CtClass cc = cp.get("other.Main");
for (CtField ctField : cc.getFields()) {
ctField.getFieldInfo().toString()
}
但是我不知道如何在方法中获取本地字段的名称。
我想获取名称字段/对象和对象的参数(东西和汽车)
public class Main {
int id;
String field1;
public static void main(String[] args) {
int k;
Stuff stuff = new Stuff(1,"I' am");
Car car = new Car();
stuff.run();
}
}
我尝试过
CtMethod cm = cc.getDeclaredMethod("main");
cm.instrument(
new ExprEditor() {
public void edit(FieldAccess m)
throws CannotCompileException {
System.out.println(m.getFieldName());
}
});
但这是行不通的,我没有看到getFieldName,也没有看到错误