* @param out the stream in which to dump the code.
* @param lnAttr LineNumberTableAttribute
* @param lvAttr LocalVariableTableAttribute
*/
public void printCode(PrintStream out, LineNumberTableAttribute lnAttr, LocalVariableTableAttribute lvAttr) {
InstructionHints hints = new InstructionHints();
out.println("---- code starts ----");
DecompilationContext dc = createDecompilationContext();
for (Instruction instruction : this.code) {
String posStr = String.valueOf(dc.getPosition());
while (posStr.length() < 5)
posStr = " " + posStr;
String hint = hints.getHint(instruction);
if (hint.length() > 0)
hint = " (" + hint + ")";
String lineNumberStr = " ";
if (lnAttr != null) {
int lineNumber = lnAttr.getLineNumber(dc.getPosition());