ASM ByteCode - 覆盖visitLine()方法

时间:2017-03-28 16:59:34

标签: java java-bytecode-asm

ASM字节码操作框架的visitLine()方法访问编译它的源代码的每一行。

如果我在源代码中分解了一行,如

Line 45:   ArrayList<Integer> test = new ArrayList<
Line 46:                                 Integer>();

然后它显示45和46.是否有一种方法可以覆盖它,以便它将此执行显示为第45行?

1 个答案:

答案 0 :(得分:1)

ASM添加了由Jaca编译器添加的所有行信息。如果你想删除一行,你需要自己过滤这些行。例如,您可以检查一行是否包含指令,您可以禁止调用任何基础方法访问者。