如何在方法javassist中获取字段/对象名称

时间:2020-05-06 17:20:42

标签: java javassist

如何在使用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,也没有看到错误

0 个答案:

没有答案
相关问题