@Override public void visitLabel(final Label label) { buf.setLength(0); buf.append(ltab); appendLabel(label); buf.append('\n'); text.add(buf.toString()); }
@Override public void visitLabel(final Label label) { stringBuilder.setLength(0); stringBuilder.append(ltab); appendLabel(label); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitJumpInsn(final int opcode, final Label label) { buf.setLength(0); buf.append(tab2).append(OPCODES[opcode]).append(' '); appendLabel(label); buf.append('\n'); text.add(buf.toString()); }
@Override public void visitLineNumber(final int line, final Label start) { buf.setLength(0); buf.append(tab2).append("LINENUMBER ").append(line).append(' '); appendLabel(start); buf.append('\n'); text.add(buf.toString()); }
@Override public void visitLabel(final Label label) { stringBuilder.setLength(0); stringBuilder.append(ltab); appendLabel(label); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitLineNumber(final int line, final Label start) { stringBuilder.setLength(0); stringBuilder.append(tab2).append("LINENUMBER ").append(line).append(' '); appendLabel(start); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitJumpInsn(final int opcode, final Label label) { stringBuilder.setLength(0); stringBuilder.append(tab2).append(OPCODES[opcode]).append(' '); appendLabel(label); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitJumpInsn(final int opcode, final Label label) { stringBuilder.setLength(0); stringBuilder.append(tab2).append(OPCODES[opcode]).append(' '); appendLabel(label); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitLineNumber(final int line, final Label start) { stringBuilder.setLength(0); stringBuilder.append(tab2).append("LINENUMBER ").append(line).append(' '); appendLabel(start); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitTableSwitchInsn( final int min, final int max, final Label dflt, final Label... labels) { stringBuilder.setLength(0); stringBuilder.append(tab2).append("TABLESWITCH\n"); for (int i = 0; i < labels.length; ++i) { stringBuilder.append(tab3).append(min + i).append(": "); appendLabel(labels[i]); stringBuilder.append('\n'); } stringBuilder.append(tab3).append("default: "); appendLabel(dflt); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitLookupSwitchInsn(final Label dflt, final int[] keys, final Label[] labels) { stringBuilder.setLength(0); stringBuilder.append(tab2).append("LOOKUPSWITCH\n"); for (int i = 0; i < labels.length; ++i) { stringBuilder.append(tab3).append(keys[i]).append(": "); appendLabel(labels[i]); stringBuilder.append('\n'); } stringBuilder.append(tab3).append("default: "); appendLabel(dflt); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitTryCatchBlock( final Label start, final Label end, final Label handler, final String type) { stringBuilder.setLength(0); stringBuilder.append(tab2).append("TRYCATCHBLOCK "); appendLabel(start); stringBuilder.append(' '); appendLabel(end); stringBuilder.append(' '); appendLabel(handler); stringBuilder.append(' '); appendDescriptor(INTERNAL_NAME, type); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitTableSwitchInsn(final int min, final int max, final Label dflt, final Label... labels) { buf.setLength(0); buf.append(tab2).append("TABLESWITCH\n"); for (int i = 0; i < labels.length; ++i) { buf.append(tab3).append(min + i).append(": "); appendLabel(labels[i]); buf.append('\n'); } buf.append(tab3).append("default: "); appendLabel(dflt); buf.append('\n'); text.add(buf.toString()); }
@Override public void visitLookupSwitchInsn(final Label dflt, final int[] keys, final Label[] labels) { stringBuilder.setLength(0); stringBuilder.append(tab2).append("LOOKUPSWITCH\n"); for (int i = 0; i < labels.length; ++i) { stringBuilder.append(tab3).append(keys[i]).append(": "); appendLabel(labels[i]); stringBuilder.append('\n'); } stringBuilder.append(tab3).append("default: "); appendLabel(dflt); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitTryCatchBlock(final Label start, final Label end, final Label handler, final String type) { buf.setLength(0); buf.append(tab2).append("TRYCATCHBLOCK "); appendLabel(start); buf.append(' '); appendLabel(end); buf.append(' '); appendLabel(handler); buf.append(' '); appendDescriptor(INTERNAL_NAME, type); buf.append('\n'); text.add(buf.toString()); }
@Override public void visitLookupSwitchInsn(final Label dflt, final int[] keys, final Label[] labels) { buf.setLength(0); buf.append(tab2).append("LOOKUPSWITCH\n"); for (int i = 0; i < labels.length; ++i) { buf.append(tab3).append(keys[i]).append(": "); appendLabel(labels[i]); buf.append('\n'); } buf.append(tab3).append("default: "); appendLabel(dflt); buf.append('\n'); text.add(buf.toString()); }
@Override public void visitTryCatchBlock( final Label start, final Label end, final Label handler, final String type) { stringBuilder.setLength(0); stringBuilder.append(tab2).append("TRYCATCHBLOCK "); appendLabel(start); stringBuilder.append(' '); appendLabel(end); stringBuilder.append(' '); appendLabel(handler); stringBuilder.append(' '); appendDescriptor(INTERNAL_NAME, type); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitTableSwitchInsn( final int min, final int max, final Label dflt, final Label... labels) { stringBuilder.setLength(0); stringBuilder.append(tab2).append("TABLESWITCH\n"); for (int i = 0; i < labels.length; ++i) { stringBuilder.append(tab3).append(min + i).append(": "); appendLabel(labels[i]); stringBuilder.append('\n'); } stringBuilder.append(tab3).append("default: "); appendLabel(dflt); stringBuilder.append('\n'); text.add(stringBuilder.toString()); }
@Override public void visitLocalVariable( final String name, final String descriptor, final String signature, final Label start, final Label end, final int index) { stringBuilder.setLength(0); stringBuilder.append(tab2).append("LOCALVARIABLE ").append(name).append(' '); appendDescriptor(FIELD_DESCRIPTOR, descriptor); stringBuilder.append(' '); appendLabel(start); stringBuilder.append(' '); appendLabel(end); stringBuilder.append(' ').append(index).append('\n'); if (signature != null) { stringBuilder.append(tab2); appendDescriptor(FIELD_SIGNATURE, signature); stringBuilder.append(tab2); appendJavaDeclaration(name, signature); } text.add(stringBuilder.toString()); }
@Override public void visitLocalVariable(final String name, final String desc, final String signature, final Label start, final Label end, final int index) { buf.setLength(0); buf.append(tab2).append("LOCALVARIABLE ").append(name).append(' '); appendDescriptor(FIELD_DESCRIPTOR, desc); buf.append(' '); appendLabel(start); buf.append(' '); appendLabel(end); buf.append(' ').append(index).append('\n'); if (signature != null) { buf.append(tab2); appendDescriptor(FIELD_SIGNATURE, signature); TraceSignatureVisitor sv = new TraceSignatureVisitor(0); SignatureReader r = new SignatureReader(signature); r.acceptType(sv); buf.append(tab2).append("// declaration: ") .append(sv.getDeclaration()).append('\n'); } text.add(buf.toString()); }