TextBuffer (int indent, BytecodeMappingTracer tracer) { TextBuffer buf = new TextBuffer(); boolean isLabeled = isLabeled(); buf.append(ExprProcessor.listToJava(varDefinitions, indent, tracer)); if (isLabeled) { buf.appendIndent(indent++).append("label").append(Integer.toString(id)).append(": {").appendLineSeparator(); tracer.incrementCurrentSourceLine(); } boolean notEmpty = false; for (int i = 0; i < stats.size(); i++) { Statement stat = stats.get(i); if (i > 0 && notEmpty) { buf.appendLineSeparator(); tracer.incrementCurrentSourceLine(); } TextBuffer str = ExprProcessor.jmpWrapper(stat, indent, false, tracer); buf.append(str); notEmpty = !str.containsOnlyWhitespaces(); } if (isLabeled) { buf.appendIndent(indent - 1).append("}").appendLineSeparator(); tracer.incrementCurrentSourceLine(); } return buf; }