【发布时间】:2011-11-02 09:18:57
【问题描述】:
假设我想用 asm 库漂亮地打印一个方法的字节码。
public int get777() { return 777; }
通过TraceClassVisitor 将看起来像
// access flags 0x1
public get777()I
L0
LINENUMBER 21 L0
SIPUSH 777
IRETURN
L1
LOCALVARIABLE this Lsomething/Point; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1
}
现在,问题是我只关心
SIPUSH 777
IRETURN
其他一切都与我无关,所以我想消灭它们。
我曾想过通过继承 TraceMethodVisitor 来过滤我不想要的东西,但它实际上是一个 final 类(真糟糕!)。
有没有办法格式化TraceClassVisitor 的输出?如果不是,您认为过滤掉我不关心的内容的最佳方法是什么?
【问题讨论】:
标签: java bytecode java-bytecode-asm