final Frame[] frames = a.getFrames();
if (throwE != null) {
System.out.println(method.name + method.desc);
TraceMethodVisitor mv = new TraceMethodVisitor() {
@Override
public void visitMaxs(final int maxStack, final int maxLocals) {
for (int i = 0; i < text.size(); ++i) {
String s;
if (frames[i] == null) {
s = "null";
} else {
s = frames[i].toString();
}
while (s.length() < maxStack + maxLocals + 1) {
s += " ";
}
System.out.print(Integer.toString(i + START_INT).substring(1));
System.out.print(" " + s + " : " + text.get(i));
}
System.out.println();
}
};
for (int j = 0; j < method.instructions.size(); ++j) {
method.instructions.get(j).accept(mv);
}
mv.visitMaxs(method.maxStack, method.maxLocals);
throw throwE;
}
}
}
}