Javassist:如何访问新创建的局部变量

时间:2019-05-02 23:20:46

标签: bytecode instrumentation javassist

说我在方法入口处创建一个局部变量。

method.insertBefore("final String id=UUID.randomUUID().toString();");

如何在出口处访问它?

method.insertAfter("read(id);");


在Javassist教程中

  

不允许访问方法中声明的局部变量

http://www.javassist.org/tutorial/tutorial2.html

1 个答案:

答案 0 :(得分:0)

试试这个:

method.addLocalVariable("id",pool.get("java.lang.String"));
method.insertBefore("id=UUID.randomUUID().toString();");