From 46b848857e9a37bf766a8b31054f4e78dcfadb25 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 26 Dec 2012 20:52:39 +0400 Subject: [PATCH] Made printer able to avoid extra blank lines. --- .../src/org/jetbrains/jet/utils/Printer.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/compiler/util/src/org/jetbrains/jet/utils/Printer.java b/compiler/util/src/org/jetbrains/jet/utils/Printer.java index 5ed460e3f7c..6691d6cde49 100644 --- a/compiler/util/src/org/jetbrains/jet/utils/Printer.java +++ b/compiler/util/src/org/jetbrains/jet/utils/Printer.java @@ -23,11 +23,19 @@ import org.jetbrains.annotations.NotNull; */ public class Printer { private static final String INDENTATION_UNIT = " "; - private String indent = ""; private final StringBuilder out; + private final int maxBlankLines; + + private String indent = ""; + private int blankLineCountIncludingCurrent = 0; public Printer(@NotNull StringBuilder out) { + this(out, Integer.MAX_VALUE); + } + + public Printer(@NotNull StringBuilder out, int maxBlankLines) { this.out = out; + this.maxBlankLines = maxBlankLines; } @NotNull @@ -39,7 +47,10 @@ public class Printer { } private void printLineSeparator() { - out.append(System.getProperty("line.separator")); + if (blankLineCountIncludingCurrent <= maxBlankLines) { + blankLineCountIncludingCurrent++; + out.append(System.getProperty("line.separator")); + } } @NotNull @@ -53,6 +64,7 @@ public class Printer { @NotNull public Printer printWithNoIndent(Object... objects) { for (Object object : objects) { + blankLineCountIncludingCurrent = 0; out.append(object); }