diff --git a/JsonGenerator/PrettyPrintDecorator.cpp b/JsonGenerator/PrettyPrintDecorator.cpp index c7e6110f..7ce4ba6b 100644 --- a/JsonGenerator/PrettyPrintDecorator.cpp +++ b/JsonGenerator/PrettyPrintDecorator.cpp @@ -49,8 +49,7 @@ size_t PrettyPrintDecorator::handleMarkupChar(uint8_t c) size_t PrettyPrintDecorator::writeValueChar(uint8_t c) { - bool inEmptyBlock = previousChar == '{' || previousChar == '['; - return inEmptyBlock ? writeln() + sink.write(c) : sink.write(c); + return inEmptyBlock() ? writeLineBreak() + sink.write(c) : sink.write(c); } size_t PrettyPrintDecorator::writeColumn() @@ -60,14 +59,12 @@ size_t PrettyPrintDecorator::writeColumn() size_t PrettyPrintDecorator::writeComma() { - return sink.write(',') + writeln(); + return sink.write(',') + writeLineBreak(); } size_t PrettyPrintDecorator::writeOpening(uint8_t c) { - bool inEmptyBlock = previousChar == '{' || previousChar == '['; - - size_t n = inEmptyBlock ? writeln() + sink.write(c) : sink.write(c); + size_t n = inEmptyBlock() ? writeLineBreak() + sink.write(c) : sink.write(c); indent++; @@ -76,9 +73,7 @@ size_t PrettyPrintDecorator::writeOpening(uint8_t c) size_t PrettyPrintDecorator::writeQuote() { - bool inEmptyBlock = previousChar == '{' || previousChar == '['; - - size_t n = inEmptyBlock ? writeln() + sink.write('"') : sink.write('"'); + size_t n = inEmptyBlock() ? writeLineBreak() + sink.write('"') : sink.write('"'); inString = true; @@ -87,14 +82,12 @@ size_t PrettyPrintDecorator::writeQuote() size_t PrettyPrintDecorator::writeClosing(uint8_t c) { - bool inEmptyBlock = previousChar == '{' || previousChar == '['; - indent--; - return inEmptyBlock ? sink.write(c) : writeln() + sink.write(c); + return inEmptyBlock() ? sink.write(c) : writeLineBreak() + sink.write(c); } -size_t PrettyPrintDecorator::writeln() +size_t PrettyPrintDecorator::writeLineBreak() { size_t n = sink.write('\n'); diff --git a/JsonGenerator/PrettyPrintDecorator.h b/JsonGenerator/PrettyPrintDecorator.h index dd62fcea..3694a55b 100644 --- a/JsonGenerator/PrettyPrintDecorator.h +++ b/JsonGenerator/PrettyPrintDecorator.h @@ -27,16 +27,20 @@ private: Print& sink; bool inString; - size_t writeln(); - + bool inEmptyBlock() + { + return previousChar == '{' || previousChar == '['; + } + size_t handleStringChar(uint8_t); size_t handleMarkupChar(uint8_t); size_t writeClosing(uint8_t); size_t writeColumn(); size_t writeComma(); - size_t writeValueChar(uint8_t); + size_t writeLineBreak(); size_t writeOpening(uint8_t); size_t writeQuote(); + size_t writeValueChar(uint8_t); };