http://lpaste.net/338173的反汇编代码(使用javap -c)如下所示:http://lpaste.net/338175,在第三列,有200作为“sipush”的参数我如何才能从使用javassist的类文件?
答案 0 :(得分:1)
sipush
是一个字节码,它接受一个双字节参数,这是一个推入操作数堆栈的数字。在Javassist中,您可以通过CodeAttribute
的{{1}}中提供的CtMethod
迭代方法的所有字节码。在您的情况下,它将是第一个字节代码,但您可以检查是否到达MethodInfo
。迭代到此指令后,您可以通过迭代器中的s16bitAt
方法读取2字节参数。该方法采用从零开始的索引。在您的情况下,这会使Opcode.SIPUSH
的参数为零,并将sipush
作为值返回。