From 2db643dab7fad28f492c92be02ad259a236b34c2 Mon Sep 17 00:00:00 2001 From: Aaron Webster Date: Tue, 2 Jun 2026 13:43:34 -0700 Subject: [PATCH] Add JSON output support to Emboss text format Add a `json` mode to TextOutputOptions so any view can be serialized as JSON, e.g. `WriteToString(view, TextOutputOptions().Json(true))`: - Field names are quoted and values are comma-separated; comments are suppressed. Compact output by default; multiline JSON places each field on its own indented line. - Enums serialize as quoted names (or bare numbers when the value has no name); bool as true/false; NaN and Infinity as quoted strings. - comments(), digit_grouping(), and numeric_base() automatically return JSON-appropriate values when json() is set, so callers don't have to special-case JSON throughout. - JsonLargeIntegerHandling::kLargeAsString optionally serializes integers wider than 32 bits as quoted strings, avoiding precision loss in JSON parsers that treat all numbers as IEEE-754 doubles. Adds JsonTestEnum/JsonTestArrayStruct/JsonTestStruct fixtures to testdata/text_format.emb and coverage in text_format_test.cc and emboss_array_view_test.cc. Regenerates the C++ goldens. --- .../back_end/cpp/generated_code_templates | 36 +- .../back_end/cpp/testcode/text_format_test.cc | 128 +- compiler/util/parser_types.py | 2 +- runtime/cpp/emboss_text_util.h | 101 +- runtime/cpp/test/emboss_array_view_test.cc | 12 + testdata/golden_cpp/alignments.emb.h | 369 +- testdata/golden_cpp/anonymous_bits.emb.h | 267 +- testdata/golden_cpp/auto_array_size.emb.h | 186 +- testdata/golden_cpp/bcd.emb.h | 435 +- testdata/golden_cpp/bits.emb.h | 567 ++- testdata/golden_cpp/complex_offset.emb.h | 387 +- testdata/golden_cpp/complex_structure.emb.h | 612 ++- testdata/golden_cpp/condition.emb.h | 2300 +++++++-- testdata/golden_cpp/dynamic_size.emb.h | 1131 ++++- testdata/golden_cpp/enum.emb.h | 180 +- testdata/golden_cpp/enum_case.emb.h | 33 +- testdata/golden_cpp/explicit_sizes.emb.h | 276 +- testdata/golden_cpp/float.emb.h | 114 +- testdata/golden_cpp/imported.emb.h | 33 +- testdata/golden_cpp/imported_genfiles.emb.h | 33 +- testdata/golden_cpp/importer.emb.h | 57 +- testdata/golden_cpp/importer2.emb.h | 33 +- testdata/golden_cpp/inline_type.emb.h | 57 +- testdata/golden_cpp/int_sizes.emb.h | 201 +- testdata/golden_cpp/large_array.emb.h | 57 +- testdata/golden_cpp/many_conditionals.emb.h | 2457 ++++++--- testdata/golden_cpp/nested_structure.emb.h | 195 +- testdata/golden_cpp/next_keyword.emb.h | 105 +- testdata/golden_cpp/no_enum_traits.emb.h | 33 +- testdata/golden_cpp/parameters.emb.h | 846 +++- testdata/golden_cpp/requires.emb.h | 746 ++- testdata/golden_cpp/start_size_range.emb.h | 105 +- testdata/golden_cpp/subtypes.emb.h | 444 +- testdata/golden_cpp/text_format.emb.h | 4426 +++++++++++++++-- testdata/golden_cpp/uint_sizes.emb.h | 1143 +++-- testdata/golden_cpp/virtual_field.emb.h | 1284 +++-- testdata/text_format.emb | 29 + 37 files changed, 15565 insertions(+), 3855 deletions(-) diff --git a/compiler/back_end/cpp/generated_code_templates b/compiler/back_end/cpp/generated_code_templates index ef995612..ec71b538 100644 --- a/compiler/back_end/cpp/generated_code_templates +++ b/compiler/back_end/cpp/generated_code_templates @@ -296,11 +296,18 @@ ${write_fields} // Avoid unused variable warnings for empty structures: (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -324,20 +331,35 @@ ${write_fields} // they are not `Ok()` overall, since submembers may still be `Ok()`. if (!emboss_reserved_local_field_options.allow_partial_output() || ${field_name}().IsAggregate() || ${field_name}().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + // In JSON mode, each field goes on its own line, so emit the newline + // that separates this field from the previous one. (In non-JSON + // mode the previous field already wrote its own trailing newline.) + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("${field_name}: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"${field_name}\":"); + } else { + emboss_reserved_local_stream->Write("${field_name}: "); + } ${field_name}().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && diff --git a/compiler/back_end/cpp/testcode/text_format_test.cc b/compiler/back_end/cpp/testcode/text_format_test.cc index 82559cda..f32b029b 100644 --- a/compiler/back_end/cpp/testcode/text_format_test.cc +++ b/compiler/back_end/cpp/testcode/text_format_test.cc @@ -15,11 +15,11 @@ // Tests of generated code for text format. #include -#include -#include -#include +#include +#include #include "gtest/gtest.h" +#include "runtime/cpp/emboss_text_util.h" #include "testdata/text_format.emb.h" namespace emboss { @@ -93,6 +93,128 @@ TEST(TextFormat, UpdateFromText) { EXPECT_EQ(view.b().Read(), 4); } +TEST(TextFormat, JsonOutput) { + ::std::array values = {}; + ::std::iota(values.begin(), values.end(), 0); + + const auto view = MakeJsonTestStructView(&values); + EXPECT_EQ( + "{\"one_byte_enum\":\"ZERO\",\"seven_bit_uint\":1,\"one_bit_flag\":" + "false,\"one_byte_uint\":2,\"two_byte_uint\":1027," + "\"four_byte_uint\":134678021,\"eight_byte_uint\":" + "1157159078456920585,\"uint8_array\":[17,18,19,20,21,22,23,24," + "25,26],\"uint16_array\":[7195,7709,8223,8737,9251,9765,10279," + "10793,11307,11821],\"struct_array\":[{\"element_one\":47," + "\"element_two\":48,\"element_three\":49,\"element_four\":50}," + "{\"element_one\":51,\"element_two\":52,\"element_three\":53," + "\"element_four\":54}]}", + ::emboss::WriteToString(view, TextOutputOptions().Json(true))); +} + +TEST(TextFormat, JsonMultilineOutput) { + ::std::array values = {1, 2, 3}; + const auto view = MakeStructWithSkippedFieldsView(&values); + // In multiline JSON mode, each field is written on its own indented line, + // separated by commas, with the closing brace on its own line. + EXPECT_EQ( + "{\n" + " \"a\":1,\n" + " \"c\":3\n" + "}", + ::emboss::WriteToString( + view, + TextOutputOptions().Json(true).Multiline(true).WithIndent(" "))); +} + +TEST(TextFormat, JsonOutputRobustness) { + ::std::array values = {}; + ::std::iota(values.begin(), values.end(), 0); + + const auto view = MakeJsonTestStructView(&values); + auto options = ::emboss::TextOutputOptions() + .Json(true) + .WithComments(true) + .WithDigitGrouping(true) + .WithNumericBase(16); + EXPECT_EQ( + "{\"one_byte_enum\":\"ZERO\",\"seven_bit_uint\":1,\"one_bit_flag\":" + "false,\"one_byte_uint\":2,\"two_byte_uint\":1027," + "\"four_byte_uint\":134678021,\"eight_byte_uint\":" + "1157159078456920585,\"uint8_array\":[17,18,19,20,21,22,23,24," + "25,26],\"uint16_array\":[7195,7709,8223,8737,9251,9765,10279," + "10793,11307,11821],\"struct_array\":[{\"element_one\":47," + "\"element_two\":48,\"element_three\":49,\"element_four\":50}," + "{\"element_one\":51,\"element_two\":52,\"element_three\":53," + "\"element_four\":54}]}", + ::emboss::WriteToString(view, options)); +} + +TEST(TextFormat, DigitGroupingAndNumericBase) { + ::std::array values = {}; + ::std::iota(values.begin(), values.end(), 0); + + const auto view = MakeJsonTestStructView(&values); + auto options = + ::emboss::TextOutputOptions().WithDigitGrouping(true).WithNumericBase(16); + EXPECT_EQ( + "{ one_byte_enum: ZERO, seven_bit_uint: 0x1, one_bit_flag: false, " + "one_byte_uint: 0x2, two_byte_uint: 0x403, four_byte_uint: 0x807_0605, " + "eight_byte_uint: 0x100f_0e0d_0c0b_0a09, uint8_array: { [0x0]: 0x11, " + "0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, [0x8]: 0x19, 0x1a }, " + "uint16_array: { [0x0]: 0x1c1b, 0x1e1d, 0x201f, 0x2221, 0x2423, 0x2625, " + "0x2827, 0x2a29, [0x8]: 0x2c2b, 0x2e2d }, struct_array: { [0x0]: { " + "element_one: 0x2f, element_two: 0x30, element_three: 0x31, " + "element_four: 0x32 }, { element_one: 0x33, element_two: 0x34, " + "element_three: 0x35, element_four: 0x36 } } }", + ::emboss::WriteToString(view, options)); +} + +TEST(TextFormat, MultilineAndPartial) { + ::std::array values = {10}; + // MakeVanillaView expects a pointer to an array of size 2, so we have to + // construct the view manually. + auto view = VanillaWriter(values.data(), values.size()); + auto options = + ::emboss::TextOutputOptions().Multiline(true).WithAllowPartialOutput( + true); + EXPECT_EQ( + "{\n" + "a: 10\n" + "}", + ::emboss::WriteToString(view, options)); +} + +TEST(TextFormat, JsonSkippedFieldOutput) { + ::std::array values = {1, 2, 3}; + const auto view = MakeStructWithSkippedFieldsView(&values); + EXPECT_EQ("{\"a\":1,\"c\":3}", + ::emboss::WriteToString(view, TextOutputOptions().Json(true))); +} + +TEST(TextFormat, JsonLargeIntegerAsString) { + ::std::array values = {}; + ::std::iota(values.begin(), values.end(), 0); + + const auto view = MakeJsonTestStructView(&values); + auto options = ::emboss::TextOutputOptions() + .Json(true) + .WithJsonLargeIntegerHandling( + JsonLargeIntegerHandling::kLargeAsString); + // With kLargeAsString, the eight_byte_uint should be quoted, but smaller + // integers should remain as numbers. + EXPECT_EQ( + "{\"one_byte_enum\":\"ZERO\",\"seven_bit_uint\":1,\"one_bit_flag\":" + "false,\"one_byte_uint\":2,\"two_byte_uint\":1027," + "\"four_byte_uint\":134678021,\"eight_byte_uint\":" + "\"1157159078456920585\",\"uint8_array\":[17,18,19,20,21,22,23,24," + "25,26],\"uint16_array\":[7195,7709,8223,8737,9251,9765,10279," + "10793,11307,11821],\"struct_array\":[{\"element_one\":47," + "\"element_two\":48,\"element_three\":49,\"element_four\":50}," + "{\"element_one\":51,\"element_two\":52,\"element_three\":53," + "\"element_four\":54}]}", + ::emboss::WriteToString(view, options)); +} + } // namespace } // namespace test } // namespace emboss diff --git a/compiler/util/parser_types.py b/compiler/util/parser_types.py index a3ef34dc..89cb1864 100644 --- a/compiler/util/parser_types.py +++ b/compiler/util/parser_types.py @@ -15,7 +15,7 @@ """Types related to the LR(1) parser. This module contains types used by the LR(1) parser, which are also used in -other parts of the compiler: +other parts of the compiler: SourcePosition: a position (zero-width) within a source file. SourceLocation: a span within a source file. diff --git a/runtime/cpp/emboss_text_util.h b/runtime/cpp/emboss_text_util.h index 9cfe03d3..1d1a1b8c 100644 --- a/runtime/cpp/emboss_text_util.h +++ b/runtime/cpp/emboss_text_util.h @@ -13,10 +13,11 @@ // limitations under the License. // This header contains functionality related to Emboss text output. -#ifndef EMBOSS_RUNTIME_CPP_EMBOSS_TEXT_UTIL_H_ -#define EMBOSS_RUNTIME_CPP_EMBOSS_TEXT_UTIL_H_ +#ifndef THIRD_PARTY_EMBOSS_RUNTIME_CPP_EMBOSS_TEXT_UTIL_H_ +#define THIRD_PARTY_EMBOSS_RUNTIME_CPP_EMBOSS_TEXT_UTIL_H_ #include +#include #include #include #include @@ -25,12 +26,25 @@ #include #include #include +#include +#include #include #include "runtime/cpp/emboss_defines.h" namespace emboss { +// Controls how large integers are serialized in JSON output. JSON numbers are +// 64-bit floating-point, so integers outside the range [-2^53, 2^53] may lose +// precision when parsed by standard JSON parsers. +enum class JsonLargeIntegerHandling { + // Serialize all integers as numbers (default, but may lose precision for + // large values). + kAsNumber, + // Serialize integers larger than 32 bits as quoted strings. + kLargeAsString, +}; + // TextOutputOptions are used to configure text output. Typically, one can just // use a default TextOutputOptions() (for compact output) or MultilineText() // (for reasonable formatted output). @@ -80,13 +94,30 @@ class TextOutputOptions final { return result; } + TextOutputOptions Json(bool new_value) const { + TextOutputOptions result = *this; + result.json_ = new_value; + return result; + } + + TextOutputOptions WithJsonLargeIntegerHandling( + JsonLargeIntegerHandling new_value) const { + TextOutputOptions result = *this; + result.json_large_integer_handling_ = new_value; + return result; + } + ::std::string current_indent() const { return current_indent_; } ::std::string indent() const { return indent_; } bool multiline() const { return multiline_; } - bool digit_grouping() const { return digit_grouping_; } - bool comments() const { return comments_; } - ::std::uint8_t numeric_base() const { return numeric_base_; } + bool digit_grouping() const { return digit_grouping_ && !json_; } + bool comments() const { return comments_ && !json_; } + ::std::uint8_t numeric_base() const { return json_ ? 10 : numeric_base_; } + bool json() const { return json_; } bool allow_partial_output() const { return allow_partial_output_; } + JsonLargeIntegerHandling json_large_integer_handling() const { + return json_large_integer_handling_; + } private: ::std::string indent_; @@ -95,7 +126,10 @@ class TextOutputOptions final { bool multiline_ = false; bool digit_grouping_ = false; bool allow_partial_output_ = false; + bool json_ = false; ::std::uint8_t numeric_base_ = 10; + JsonLargeIntegerHandling json_large_integer_handling_ = + JsonLargeIntegerHandling::kAsNumber; }; namespace support { @@ -337,8 +371,21 @@ void WriteIntegerToTextStream(IntegralType value, Stream *stream, template void WriteIntegerViewToTextStream(View *view, Stream *stream, const TextOutputOptions &options) { + // In JSON mode with kLargeAsString, serialize integers larger than 32 bits + // as quoted strings to avoid precision loss in JSON parsers. + bool quote_value = + options.json() && + options.json_large_integer_handling() == + JsonLargeIntegerHandling::kLargeAsString && + sizeof(typename View::ValueType) > 4; + if (quote_value) { + stream->Write("\""); + } WriteIntegerToTextStream(view->Read(), stream, options.numeric_base(), options.digit_grouping()); + if (quote_value) { + stream->Write("\""); + } if (options.comments()) { stream->Write(" # "); WriteIntegerToTextStream(view->Read(), stream, @@ -562,6 +609,10 @@ void WriteFloatToTextStream(Float n, Stream *stream, // currently available. if (::std::isnan(n)) { + if (options.json()) { + stream->Write("\"NaN\""); + return; + } // The printf format for NaN is just "NaN". In the interests of keeping // things bit-exact, Emboss prints the exact NaN. typename FloatConstants::MatchingIntegerType bits; @@ -585,6 +636,14 @@ void WriteFloatToTextStream(Float n, Stream *stream, } if (::std::isinf(n)) { + if (options.json()) { + if (n < 0.0) { + stream->Write("\"-Infinity\""); + } else { + stream->Write("\"Infinity\""); + } + return; + } if (n < 0.0) { stream->Write("-Inf"); } else { @@ -636,13 +695,17 @@ void WriteEnumViewToTextStream(View *view, Stream *stream, const TextOutputOptions &options) { const char *name = TryToGetNameFromEnum(view->Read()); if (name != nullptr) { + if (options.json()) stream->Write("\""); stream->Write(name); + if (options.json()) stream->Write("\""); } // If the enum value has no known name, then write its numeric value // instead. If it does have a known name, and comments are enabled on the // output, then write the numeric value as a comment. if (name == nullptr || options.comments()) { - if (name != nullptr) stream->Write(" # "); + if (name != nullptr) { + stream->Write(" # "); + } WriteIntegerToTextStream( static_cast< typename ::std::underlying_type::type>( @@ -756,7 +819,29 @@ template void WriteArrayToTextStream(Array *array, Stream *stream, const TextOutputOptions &options) { TextOutputOptions element_options = options.PlusOneIndent(); - if (options.multiline()) { + if (options.json()) { + stream->Write("["); + bool first = true; + for (::std::size_t i = 0; i < array->ElementCount(); ++i) { + if (!options.allow_partial_output() || (*array)[i].IsAggregate() || + (*array)[i].Ok()) { + if (!first) { + stream->Write(","); + } + if (options.multiline()) { + stream->Write("\n"); + stream->Write(element_options.current_indent()); + } + (*array)[i].WriteToTextStream(stream, element_options); + first = false; + } + } + if (options.multiline()) { + stream->Write("\n"); + stream->Write(options.current_indent()); + } + stream->Write("]"); + } else if (options.multiline()) { stream->Write("{"); WriteShorthandArrayCommentToTextStream(array, stream, element_options); for (::std::size_t i = 0; i < array->ElementCount(); ++i) { @@ -896,4 +981,4 @@ inline ::std::string WriteToString(const EmbossViewType &view) { } // namespace emboss -#endif // EMBOSS_RUNTIME_CPP_EMBOSS_TEXT_UTIL_H_ +#endif // THIRD_PARTY_EMBOSS_RUNTIME_CPP_EMBOSS_TEXT_UTIL_H_ diff --git a/runtime/cpp/test/emboss_array_view_test.cc b/runtime/cpp/test/emboss_array_view_test.cc index 1f632e89..485b03b0 100644 --- a/runtime/cpp/test/emboss_array_view_test.cc +++ b/runtime/cpp/test/emboss_array_view_test.cc @@ -215,6 +215,18 @@ TEST(ArrayView, TextFormatOutput_WithAndWithoutComments) { "0x8, 0xd, 0x15, 0x22, 0x37, 0x59 }"); } +TEST(ArrayView, TextFormatOutput_AsJson) { + signed char bytes[16] = {-3, 2, -1, 1, 0, 1, 1, 2, + 3, 5, 8, 13, 21, 34, 55, 89}; + auto buffer = ReadWriteContiguousBuffer{ + reinterpret_cast(bytes), sizeof bytes}; + auto byte_array = + ArrayView, ReadWriteContiguousBuffer, 1>{buffer}; + + EXPECT_EQ("[-3,2,-1,1,0,1,1,2,3,5,8,13,21,34,55,89]", + WriteToString(byte_array, TextOutputOptions().Json(true))); +} + TEST(ArrayView, TextFormatOutput_8BitIntElementTypes) { ::std::uint8_t bytes[1] = {65}; auto buffer = ReadWriteContiguousBuffer{bytes, sizeof bytes}; diff --git a/testdata/golden_cpp/alignments.emb.h b/testdata/golden_cpp/alignments.emb.h index 89a18e86..1ad9a1ab 100644 --- a/testdata/golden_cpp/alignments.emb.h +++ b/testdata/golden_cpp/alignments.emb.h @@ -669,20 +669,32 @@ class GenericAlignmentsView final { if (has_zero_offset().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || zero_offset().IsAggregate() || zero_offset().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("zero_offset: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"zero_offset\":"); + } else { + emboss_reserved_local_stream->Write("zero_offset: "); + } zero_offset().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -700,20 +712,32 @@ class GenericAlignmentsView final { if (!emboss_reserved_local_field_options.allow_partial_output() || zero_offset_substructure().IsAggregate() || zero_offset_substructure().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("zero_offset_substructure: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"zero_offset_substructure\":"); + } else { + emboss_reserved_local_stream->Write("zero_offset_substructure: "); + } zero_offset_substructure().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -733,20 +757,32 @@ class GenericAlignmentsView final { if (!emboss_reserved_local_field_options.allow_partial_output() || two_offset_substructure().IsAggregate() || two_offset_substructure().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_offset_substructure: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_offset_substructure\":"); + } else { + emboss_reserved_local_stream->Write("two_offset_substructure: "); + } two_offset_substructure().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -765,20 +801,32 @@ class GenericAlignmentsView final { if (has_three_offset().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || three_offset().IsAggregate() || three_offset().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_offset: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_offset\":"); + } else { + emboss_reserved_local_stream->Write("three_offset: "); + } three_offset().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -795,20 +843,32 @@ class GenericAlignmentsView final { if (has_four_offset().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_offset().IsAggregate() || four_offset().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_offset: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_offset\":"); + } else { + emboss_reserved_local_stream->Write("four_offset: "); + } four_offset().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -825,20 +885,32 @@ class GenericAlignmentsView final { if (has_eleven_offset().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || eleven_offset().IsAggregate() || eleven_offset().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("eleven_offset: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"eleven_offset\":"); + } else { + emboss_reserved_local_stream->Write("eleven_offset: "); + } eleven_offset().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -855,20 +927,32 @@ class GenericAlignmentsView final { if (has_twelve_offset().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || twelve_offset().IsAggregate() || twelve_offset().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("twelve_offset: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"twelve_offset\":"); + } else { + emboss_reserved_local_stream->Write("twelve_offset: "); + } twelve_offset().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -886,20 +970,34 @@ class GenericAlignmentsView final { if (!emboss_reserved_local_field_options.allow_partial_output() || zero_offset_four_stride_array().IsAggregate() || zero_offset_four_stride_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("zero_offset_four_stride_array: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write( + "\"zero_offset_four_stride_array\":"); + } else { + emboss_reserved_local_stream->Write( + "zero_offset_four_stride_array: "); + } zero_offset_four_stride_array().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -919,20 +1017,33 @@ class GenericAlignmentsView final { if (!emboss_reserved_local_field_options.allow_partial_output() || zero_offset_six_stride_array().IsAggregate() || zero_offset_six_stride_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("zero_offset_six_stride_array: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write( + "\"zero_offset_six_stride_array\":"); + } else { + emboss_reserved_local_stream->Write("zero_offset_six_stride_array: "); + } zero_offset_six_stride_array().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -952,20 +1063,34 @@ class GenericAlignmentsView final { if (!emboss_reserved_local_field_options.allow_partial_output() || three_offset_four_stride_array().IsAggregate() || three_offset_four_stride_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_offset_four_stride_array: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write( + "\"three_offset_four_stride_array\":"); + } else { + emboss_reserved_local_stream->Write( + "three_offset_four_stride_array: "); + } three_offset_four_stride_array().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -985,20 +1110,33 @@ class GenericAlignmentsView final { if (!emboss_reserved_local_field_options.allow_partial_output() || four_offset_six_stride_array().IsAggregate() || four_offset_six_stride_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_offset_six_stride_array: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write( + "\"four_offset_six_stride_array\":"); + } else { + emboss_reserved_local_stream->Write("four_offset_six_stride_array: "); + } four_offset_six_stride_array().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1016,11 +1154,18 @@ class GenericAlignmentsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1474,20 +1619,32 @@ class GenericPlaceholder4View final { if (has_dummy().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || dummy().IsAggregate() || dummy().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("dummy: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"dummy\":"); + } else { + emboss_reserved_local_stream->Write("dummy: "); + } dummy().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1503,11 +1660,18 @@ class GenericPlaceholder4View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1915,20 +2079,32 @@ class GenericPlaceholder6View final { if (has_zero_offset().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || zero_offset().IsAggregate() || zero_offset().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("zero_offset: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"zero_offset\":"); + } else { + emboss_reserved_local_stream->Write("zero_offset: "); + } zero_offset().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1945,20 +2121,32 @@ class GenericPlaceholder6View final { if (has_two_offset().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_offset().IsAggregate() || two_offset().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_offset: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_offset\":"); + } else { + emboss_reserved_local_stream->Write("two_offset: "); + } two_offset().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1974,11 +2162,18 @@ class GenericPlaceholder6View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/anonymous_bits.emb.h b/testdata/golden_cpp/anonymous_bits.emb.h index d80b0412..854dee90 100644 --- a/testdata/golden_cpp/anonymous_bits.emb.h +++ b/testdata/golden_cpp/anonymous_bits.emb.h @@ -302,20 +302,32 @@ class GenericEmbossReservedAnonymousField2View final { if (has_high_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || high_bit().IsAggregate() || high_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("high_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"high_bit\":"); + } else { + emboss_reserved_local_stream->Write("high_bit: "); + } high_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -332,20 +344,32 @@ class GenericEmbossReservedAnonymousField2View final { if (has_bar().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || bar().IsAggregate() || bar().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("bar: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"bar\":"); + } else { + emboss_reserved_local_stream->Write("bar: "); + } bar().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -362,20 +386,32 @@ class GenericEmbossReservedAnonymousField2View final { if (has_first_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || first_bit().IsAggregate() || first_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("first_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"first_bit\":"); + } else { + emboss_reserved_local_stream->Write("first_bit: "); + } first_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -391,11 +427,18 @@ class GenericEmbossReservedAnonymousField2View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -913,20 +956,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_bit_23().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || bit_23().IsAggregate() || bit_23().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("bit_23: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"bit_23\":"); + } else { + emboss_reserved_local_stream->Write("bit_23: "); + } bit_23().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -943,20 +998,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_low_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || low_bit().IsAggregate() || low_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("low_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"low_bit\":"); + } else { + emboss_reserved_local_stream->Write("low_bit: "); + } low_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -972,11 +1039,18 @@ class GenericEmbossReservedAnonymousField1View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1451,20 +1525,32 @@ class GenericFooView final { if (has_high_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || high_bit().IsAggregate() || high_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("high_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"high_bit\":"); + } else { + emboss_reserved_local_stream->Write("high_bit: "); + } high_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1481,20 +1567,32 @@ class GenericFooView final { if (has_bar().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || bar().IsAggregate() || bar().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("bar: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"bar\":"); + } else { + emboss_reserved_local_stream->Write("bar: "); + } bar().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1511,20 +1609,32 @@ class GenericFooView final { if (has_first_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || first_bit().IsAggregate() || first_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("first_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"first_bit\":"); + } else { + emboss_reserved_local_stream->Write("first_bit: "); + } first_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1541,20 +1651,32 @@ class GenericFooView final { if (has_bit_23().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || bit_23().IsAggregate() || bit_23().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("bit_23: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"bit_23\":"); + } else { + emboss_reserved_local_stream->Write("bit_23: "); + } bit_23().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1571,20 +1693,32 @@ class GenericFooView final { if (has_low_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || low_bit().IsAggregate() || low_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("low_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"low_bit\":"); + } else { + emboss_reserved_local_stream->Write("low_bit: "); + } low_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1600,11 +1734,18 @@ class GenericFooView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/auto_array_size.emb.h b/testdata/golden_cpp/auto_array_size.emb.h index a2ba5409..6b145f7d 100644 --- a/testdata/golden_cpp/auto_array_size.emb.h +++ b/testdata/golden_cpp/auto_array_size.emb.h @@ -246,20 +246,32 @@ class GenericElementView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -276,20 +288,32 @@ class GenericElementView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -305,11 +329,18 @@ class GenericElementView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -859,20 +890,32 @@ class GenericAutoSizeView final { if (has_array_size().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || array_size().IsAggregate() || array_size().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("array_size: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"array_size\":"); + } else { + emboss_reserved_local_stream->Write("array_size: "); + } array_size().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -889,20 +932,32 @@ class GenericAutoSizeView final { if (has_four_byte_array().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_byte_array().IsAggregate() || four_byte_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_byte_array: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte_array\":"); + } else { + emboss_reserved_local_stream->Write("four_byte_array: "); + } four_byte_array().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -919,20 +974,32 @@ class GenericAutoSizeView final { if (has_four_struct_array().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_struct_array().IsAggregate() || four_struct_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_struct_array: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_struct_array\":"); + } else { + emboss_reserved_local_stream->Write("four_struct_array: "); + } four_struct_array().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -951,20 +1018,32 @@ class GenericAutoSizeView final { if (has_dynamic_byte_array().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || dynamic_byte_array().IsAggregate() || dynamic_byte_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("dynamic_byte_array: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"dynamic_byte_array\":"); + } else { + emboss_reserved_local_stream->Write("dynamic_byte_array: "); + } dynamic_byte_array().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -983,20 +1062,32 @@ class GenericAutoSizeView final { if (has_dynamic_struct_array().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || dynamic_struct_array().IsAggregate() || dynamic_struct_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("dynamic_struct_array: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"dynamic_struct_array\":"); + } else { + emboss_reserved_local_stream->Write("dynamic_struct_array: "); + } dynamic_struct_array().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1014,11 +1105,18 @@ class GenericAutoSizeView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/bcd.emb.h b/testdata/golden_cpp/bcd.emb.h index db1f2f5b..ca4c4829 100644 --- a/testdata/golden_cpp/bcd.emb.h +++ b/testdata/golden_cpp/bcd.emb.h @@ -335,20 +335,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_four_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_bit().IsAggregate() || four_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_bit\":"); + } else { + emboss_reserved_local_stream->Write("four_bit: "); + } four_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -365,20 +377,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_six_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || six_bit().IsAggregate() || six_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("six_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"six_bit\":"); + } else { + emboss_reserved_local_stream->Write("six_bit: "); + } six_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -395,20 +419,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_ten_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || ten_bit().IsAggregate() || ten_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("ten_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"ten_bit\":"); + } else { + emboss_reserved_local_stream->Write("ten_bit: "); + } ten_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -425,20 +461,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_twelve_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || twelve_bit().IsAggregate() || twelve_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("twelve_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"twelve_bit\":"); + } else { + emboss_reserved_local_stream->Write("twelve_bit: "); + } twelve_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -454,11 +502,18 @@ class GenericEmbossReservedAnonymousField1View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1194,20 +1249,32 @@ class GenericBcdSizesView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1224,20 +1291,32 @@ class GenericBcdSizesView final { if (has_two_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_byte().IsAggregate() || two_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte\":"); + } else { + emboss_reserved_local_stream->Write("two_byte: "); + } two_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1254,20 +1333,32 @@ class GenericBcdSizesView final { if (has_three_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || three_byte().IsAggregate() || three_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_byte\":"); + } else { + emboss_reserved_local_stream->Write("three_byte: "); + } three_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1284,20 +1375,32 @@ class GenericBcdSizesView final { if (has_four_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_byte().IsAggregate() || four_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte\":"); + } else { + emboss_reserved_local_stream->Write("four_byte: "); + } four_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1314,20 +1417,32 @@ class GenericBcdSizesView final { if (has_five_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || five_byte().IsAggregate() || five_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("five_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"five_byte\":"); + } else { + emboss_reserved_local_stream->Write("five_byte: "); + } five_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1344,20 +1459,32 @@ class GenericBcdSizesView final { if (has_six_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || six_byte().IsAggregate() || six_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("six_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"six_byte\":"); + } else { + emboss_reserved_local_stream->Write("six_byte: "); + } six_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1374,20 +1501,32 @@ class GenericBcdSizesView final { if (has_seven_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || seven_byte().IsAggregate() || seven_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("seven_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"seven_byte\":"); + } else { + emboss_reserved_local_stream->Write("seven_byte: "); + } seven_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1404,20 +1543,32 @@ class GenericBcdSizesView final { if (has_eight_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || eight_byte().IsAggregate() || eight_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("eight_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"eight_byte\":"); + } else { + emboss_reserved_local_stream->Write("eight_byte: "); + } eight_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1434,20 +1585,32 @@ class GenericBcdSizesView final { if (has_four_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_bit().IsAggregate() || four_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_bit\":"); + } else { + emboss_reserved_local_stream->Write("four_bit: "); + } four_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1464,20 +1627,32 @@ class GenericBcdSizesView final { if (has_six_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || six_bit().IsAggregate() || six_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("six_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"six_bit\":"); + } else { + emboss_reserved_local_stream->Write("six_bit: "); + } six_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1494,20 +1669,32 @@ class GenericBcdSizesView final { if (has_ten_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || ten_bit().IsAggregate() || ten_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("ten_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"ten_bit\":"); + } else { + emboss_reserved_local_stream->Write("ten_bit: "); + } ten_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1524,20 +1711,32 @@ class GenericBcdSizesView final { if (has_twelve_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || twelve_bit().IsAggregate() || twelve_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("twelve_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"twelve_bit\":"); + } else { + emboss_reserved_local_stream->Write("twelve_bit: "); + } twelve_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1553,11 +1752,18 @@ class GenericBcdSizesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2059,20 +2265,32 @@ class GenericBcdBigEndianView final { if (has_four_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_byte().IsAggregate() || four_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte\":"); + } else { + emboss_reserved_local_stream->Write("four_byte: "); + } four_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2088,11 +2306,18 @@ class GenericBcdBigEndianView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/bits.emb.h b/testdata/golden_cpp/bits.emb.h index 4c16a6ce..243508be 100644 --- a/testdata/golden_cpp/bits.emb.h +++ b/testdata/golden_cpp/bits.emb.h @@ -387,20 +387,32 @@ class GenericOneByteView final { if (has_high_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || high_bit().IsAggregate() || high_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("high_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"high_bit\":"); + } else { + emboss_reserved_local_stream->Write("high_bit: "); + } high_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -417,20 +429,32 @@ class GenericOneByteView final { if (has_less_high_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || less_high_bit().IsAggregate() || less_high_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("less_high_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"less_high_bit\":"); + } else { + emboss_reserved_local_stream->Write("less_high_bit: "); + } less_high_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -447,20 +471,32 @@ class GenericOneByteView final { if (has_mid_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || mid_nibble().IsAggregate() || mid_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("mid_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"mid_nibble\":"); + } else { + emboss_reserved_local_stream->Write("mid_nibble: "); + } mid_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -477,20 +513,32 @@ class GenericOneByteView final { if (has_less_low_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || less_low_bit().IsAggregate() || less_low_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("less_low_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"less_low_bit\":"); + } else { + emboss_reserved_local_stream->Write("less_low_bit: "); + } less_low_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -507,20 +555,32 @@ class GenericOneByteView final { if (has_low_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || low_bit().IsAggregate() || low_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("low_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"low_bit\":"); + } else { + emboss_reserved_local_stream->Write("low_bit: "); + } low_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -536,11 +596,18 @@ class GenericOneByteView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1038,20 +1105,32 @@ class GenericTwoByteWithGapsView final { if (has_high_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || high_bit().IsAggregate() || high_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("high_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"high_bit\":"); + } else { + emboss_reserved_local_stream->Write("high_bit: "); + } high_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1068,20 +1147,32 @@ class GenericTwoByteWithGapsView final { if (has_mid_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || mid_nibble().IsAggregate() || mid_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("mid_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"mid_nibble\":"); + } else { + emboss_reserved_local_stream->Write("mid_nibble: "); + } mid_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1098,20 +1189,32 @@ class GenericTwoByteWithGapsView final { if (has_low_bit().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || low_bit().IsAggregate() || low_bit().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("low_bit: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"low_bit\":"); + } else { + emboss_reserved_local_stream->Write("low_bit: "); + } low_bit().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1127,11 +1230,18 @@ class GenericTwoByteWithGapsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1638,20 +1748,32 @@ class GenericFourByteView final { if (has_high_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || high_nibble().IsAggregate() || high_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("high_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"high_nibble\":"); + } else { + emboss_reserved_local_stream->Write("high_nibble: "); + } high_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1668,20 +1790,32 @@ class GenericFourByteView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1698,20 +1832,32 @@ class GenericFourByteView final { if (has_two_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_byte().IsAggregate() || two_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte\":"); + } else { + emboss_reserved_local_stream->Write("two_byte: "); + } two_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1728,20 +1874,32 @@ class GenericFourByteView final { if (has_raw_low_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || raw_low_nibble().IsAggregate() || raw_low_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("raw_low_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"raw_low_nibble\":"); + } else { + emboss_reserved_local_stream->Write("raw_low_nibble: "); + } raw_low_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1758,20 +1916,32 @@ class GenericFourByteView final { if (has_low_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || low_nibble().IsAggregate() || low_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("low_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"low_nibble\":"); + } else { + emboss_reserved_local_stream->Write("low_nibble: "); + } low_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1787,11 +1957,18 @@ class GenericFourByteView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2336,20 +2513,32 @@ class GenericArrayInBitsView final { if (has_lone_flag().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || lone_flag().IsAggregate() || lone_flag().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("lone_flag: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"lone_flag\":"); + } else { + emboss_reserved_local_stream->Write("lone_flag: "); + } lone_flag().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2366,20 +2555,32 @@ class GenericArrayInBitsView final { if (has_flags().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || flags().IsAggregate() || flags().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("flags: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"flags\":"); + } else { + emboss_reserved_local_stream->Write("flags: "); + } flags().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2395,11 +2596,18 @@ class GenericArrayInBitsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2783,20 +2991,32 @@ class GenericArrayInBitsInStructView final { if (has_array_in_bits().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || array_in_bits().IsAggregate() || array_in_bits().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("array_in_bits: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"array_in_bits\":"); + } else { + emboss_reserved_local_stream->Write("array_in_bits: "); + } array_in_bits().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2812,11 +3032,18 @@ class GenericArrayInBitsInStructView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -3298,20 +3525,32 @@ class GenericStructOfBitsView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3328,20 +3567,32 @@ class GenericStructOfBitsView final { if (has_two_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_byte().IsAggregate() || two_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte\":"); + } else { + emboss_reserved_local_stream->Write("two_byte: "); + } two_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3358,20 +3609,32 @@ class GenericStructOfBitsView final { if (has_four_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_byte().IsAggregate() || four_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte\":"); + } else { + emboss_reserved_local_stream->Write("four_byte: "); + } four_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3388,20 +3651,32 @@ class GenericStructOfBitsView final { if (has_located_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || located_byte().IsAggregate() || located_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("located_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"located_byte\":"); + } else { + emboss_reserved_local_stream->Write("located_byte: "); + } located_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3417,11 +3692,18 @@ class GenericStructOfBitsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -3877,20 +4159,32 @@ class GenericBitArrayView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3906,11 +4200,18 @@ class GenericBitArrayView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/complex_offset.emb.h b/testdata/golden_cpp/complex_offset.emb.h index 5bd586f8..92a2ac1e 100644 --- a/testdata/golden_cpp/complex_offset.emb.h +++ b/testdata/golden_cpp/complex_offset.emb.h @@ -214,20 +214,32 @@ class GenericLengthView final { if (has_length().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || length().IsAggregate() || length().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("length: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"length\":"); + } else { + emboss_reserved_local_stream->Write("length: "); + } length().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -243,11 +255,18 @@ class GenericLengthView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -649,20 +668,32 @@ class GenericDataView final { if (has_length().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || length().IsAggregate() || length().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("length: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"length\":"); + } else { + emboss_reserved_local_stream->Write("length: "); + } length().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -679,20 +710,32 @@ class GenericDataView final { if (has_data().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || data().IsAggregate() || data().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("data: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"data\":"); + } else { + emboss_reserved_local_stream->Write("data: "); + } data().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -708,11 +751,18 @@ class GenericDataView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1566,20 +1616,32 @@ class GenericPackedFieldsView final { if (has_length1().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || length1().IsAggregate() || length1().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("length1: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"length1\":"); + } else { + emboss_reserved_local_stream->Write("length1: "); + } length1().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1596,20 +1658,32 @@ class GenericPackedFieldsView final { if (has_data1().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || data1().IsAggregate() || data1().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("data1: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"data1\":"); + } else { + emboss_reserved_local_stream->Write("data1: "); + } data1().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1645,20 +1719,32 @@ class GenericPackedFieldsView final { if (has_length2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || length2().IsAggregate() || length2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("length2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"length2\":"); + } else { + emboss_reserved_local_stream->Write("length2: "); + } length2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1675,20 +1761,32 @@ class GenericPackedFieldsView final { if (has_data2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || data2().IsAggregate() || data2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("data2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"data2\":"); + } else { + emboss_reserved_local_stream->Write("data2: "); + } data2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1724,20 +1822,32 @@ class GenericPackedFieldsView final { if (has_length3().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || length3().IsAggregate() || length3().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("length3: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"length3\":"); + } else { + emboss_reserved_local_stream->Write("length3: "); + } length3().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1754,20 +1864,32 @@ class GenericPackedFieldsView final { if (has_data3().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || data3().IsAggregate() || data3().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("data3: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"data3\":"); + } else { + emboss_reserved_local_stream->Write("data3: "); + } data3().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1803,20 +1925,32 @@ class GenericPackedFieldsView final { if (has_length4().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || length4().IsAggregate() || length4().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("length4: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"length4\":"); + } else { + emboss_reserved_local_stream->Write("length4: "); + } length4().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1833,20 +1967,32 @@ class GenericPackedFieldsView final { if (has_data4().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || data4().IsAggregate() || data4().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("data4: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"data4\":"); + } else { + emboss_reserved_local_stream->Write("data4: "); + } data4().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1882,20 +2028,32 @@ class GenericPackedFieldsView final { if (has_length5().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || length5().IsAggregate() || length5().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("length5: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"length5\":"); + } else { + emboss_reserved_local_stream->Write("length5: "); + } length5().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1912,20 +2070,32 @@ class GenericPackedFieldsView final { if (has_data5().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || data5().IsAggregate() || data5().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("data5: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"data5\":"); + } else { + emboss_reserved_local_stream->Write("data5: "); + } data5().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1961,20 +2131,32 @@ class GenericPackedFieldsView final { if (has_length6().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || length6().IsAggregate() || length6().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("length6: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"length6\":"); + } else { + emboss_reserved_local_stream->Write("length6: "); + } length6().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1991,20 +2173,32 @@ class GenericPackedFieldsView final { if (has_data6().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || data6().IsAggregate() || data6().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("data6: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"data6\":"); + } else { + emboss_reserved_local_stream->Write("data6: "); + } data6().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2020,11 +2214,18 @@ class GenericPackedFieldsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/complex_structure.emb.h b/testdata/golden_cpp/complex_structure.emb.h index a7706f7d..22a7a8fb 100644 --- a/testdata/golden_cpp/complex_structure.emb.h +++ b/testdata/golden_cpp/complex_structure.emb.h @@ -294,20 +294,32 @@ class GenericRegisterLayoutView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -324,20 +336,32 @@ class GenericRegisterLayoutView final { if (has_l().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || l().IsAggregate() || l().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("l: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"l\":"); + } else { + emboss_reserved_local_stream->Write("l: "); + } l().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -354,20 +378,32 @@ class GenericRegisterLayoutView final { if (has_h().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || h().IsAggregate() || h().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("h: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"h\":"); + } else { + emboss_reserved_local_stream->Write("h: "); + } h().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -383,11 +419,18 @@ class GenericRegisterLayoutView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -772,20 +815,32 @@ class GenericArrayElementView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -801,11 +856,18 @@ class GenericArrayElementView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1290,20 +1352,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_a0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a0().IsAggregate() || a0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a0\":"); + } else { + emboss_reserved_local_stream->Write("a0: "); + } a0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1320,20 +1394,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_s0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || s0().IsAggregate() || s0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("s0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"s0\":"); + } else { + emboss_reserved_local_stream->Write("s0: "); + } s0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1350,20 +1436,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_l0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || l0().IsAggregate() || l0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("l0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"l0\":"); + } else { + emboss_reserved_local_stream->Write("l0: "); + } l0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1380,20 +1478,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_h0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || h0().IsAggregate() || h0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("h0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"h0\":"); + } else { + emboss_reserved_local_stream->Write("h0: "); + } h0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1409,11 +1519,18 @@ class GenericEmbossReservedAnonymousField1View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2297,20 +2414,32 @@ class GenericComplexView final { if (has_s().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || s().IsAggregate() || s().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("s: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"s\":"); + } else { + emboss_reserved_local_stream->Write("s: "); + } s().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2327,20 +2456,32 @@ class GenericComplexView final { if (has_u().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || u().IsAggregate() || u().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("u: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"u\":"); + } else { + emboss_reserved_local_stream->Write("u: "); + } u().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2357,20 +2498,32 @@ class GenericComplexView final { if (has_i().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || i().IsAggregate() || i().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("i: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"i\":"); + } else { + emboss_reserved_local_stream->Write("i: "); + } i().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2387,20 +2540,32 @@ class GenericComplexView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2417,20 +2582,32 @@ class GenericComplexView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2447,20 +2624,32 @@ class GenericComplexView final { if (has_a0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a0().IsAggregate() || a0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a0\":"); + } else { + emboss_reserved_local_stream->Write("a0: "); + } a0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2477,20 +2666,32 @@ class GenericComplexView final { if (has_s0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || s0().IsAggregate() || s0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("s0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"s0\":"); + } else { + emboss_reserved_local_stream->Write("s0: "); + } s0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2507,20 +2708,32 @@ class GenericComplexView final { if (has_l0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || l0().IsAggregate() || l0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("l0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"l0\":"); + } else { + emboss_reserved_local_stream->Write("l0: "); + } l0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2537,20 +2750,32 @@ class GenericComplexView final { if (has_h0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || h0().IsAggregate() || h0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("h0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"h0\":"); + } else { + emboss_reserved_local_stream->Write("h0: "); + } h0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2567,20 +2792,32 @@ class GenericComplexView final { if (has_e1().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || e1().IsAggregate() || e1().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("e1: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"e1\":"); + } else { + emboss_reserved_local_stream->Write("e1: "); + } e1().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2597,20 +2834,32 @@ class GenericComplexView final { if (has_e2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || e2().IsAggregate() || e2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("e2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"e2\":"); + } else { + emboss_reserved_local_stream->Write("e2: "); + } e2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2627,20 +2876,32 @@ class GenericComplexView final { if (has_b2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b2().IsAggregate() || b2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b2\":"); + } else { + emboss_reserved_local_stream->Write("b2: "); + } b2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2657,20 +2918,32 @@ class GenericComplexView final { if (has_e3().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || e3().IsAggregate() || e3().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("e3: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"e3\":"); + } else { + emboss_reserved_local_stream->Write("e3: "); + } e3().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2687,20 +2960,32 @@ class GenericComplexView final { if (has_e4().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || e4().IsAggregate() || e4().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("e4: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"e4\":"); + } else { + emboss_reserved_local_stream->Write("e4: "); + } e4().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2717,20 +3002,32 @@ class GenericComplexView final { if (has_e5().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || e5().IsAggregate() || e5().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("e5: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"e5\":"); + } else { + emboss_reserved_local_stream->Write("e5: "); + } e5().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2747,20 +3044,32 @@ class GenericComplexView final { if (has_e0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || e0().IsAggregate() || e0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("e0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"e0\":"); + } else { + emboss_reserved_local_stream->Write("e0: "); + } e0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2776,11 +3085,18 @@ class GenericComplexView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/condition.emb.h b/testdata/golden_cpp/condition.emb.h index 53c476b0..d22ba82e 100644 --- a/testdata/golden_cpp/condition.emb.h +++ b/testdata/golden_cpp/condition.emb.h @@ -453,20 +453,32 @@ class GenericBasicConditionalView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -483,20 +495,32 @@ class GenericBasicConditionalView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -512,11 +536,18 @@ class GenericBasicConditionalView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -990,20 +1021,32 @@ class GenericNegativeConditionalView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1020,20 +1063,32 @@ class GenericNegativeConditionalView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1049,11 +1104,18 @@ class GenericNegativeConditionalView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1594,20 +1656,32 @@ class GenericConditionalAndUnconditionalOverlappingFinalFieldView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1624,20 +1698,32 @@ class GenericConditionalAndUnconditionalOverlappingFinalFieldView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1654,20 +1740,32 @@ class GenericConditionalAndUnconditionalOverlappingFinalFieldView final { if (has_z().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || z().IsAggregate() || z().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("z: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"z\":"); + } else { + emboss_reserved_local_stream->Write("z: "); + } z().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1683,11 +1781,18 @@ class GenericConditionalAndUnconditionalOverlappingFinalFieldView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2151,20 +2256,32 @@ class GenericConditionalBasicConditionalFieldFirstView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2181,20 +2298,32 @@ class GenericConditionalBasicConditionalFieldFirstView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2210,11 +2339,18 @@ class GenericConditionalBasicConditionalFieldFirstView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2698,20 +2834,32 @@ class GenericConditionalAndDynamicLocationView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2728,20 +2876,32 @@ class GenericConditionalAndDynamicLocationView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2758,20 +2918,32 @@ class GenericConditionalAndDynamicLocationView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2787,11 +2959,18 @@ class GenericConditionalAndDynamicLocationView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -3318,20 +3497,32 @@ class GenericConditionUsesMinIntView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3348,20 +3539,32 @@ class GenericConditionUsesMinIntView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3377,11 +3580,18 @@ class GenericConditionUsesMinIntView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -3933,20 +4143,32 @@ class GenericNestedConditionalView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3963,20 +4185,32 @@ class GenericNestedConditionalView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3993,20 +4227,32 @@ class GenericNestedConditionalView final { if (has_xcc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xcc().IsAggregate() || xcc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xcc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xcc\":"); + } else { + emboss_reserved_local_stream->Write("xcc: "); + } xcc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4022,11 +4268,18 @@ class GenericNestedConditionalView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -4590,20 +4843,32 @@ class GenericCorrectNestedConditionalView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4620,20 +4885,32 @@ class GenericCorrectNestedConditionalView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4650,20 +4927,32 @@ class GenericCorrectNestedConditionalView final { if (has_xcc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xcc().IsAggregate() || xcc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xcc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xcc\":"); + } else { + emboss_reserved_local_stream->Write("xcc: "); + } xcc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4679,11 +4968,18 @@ class GenericCorrectNestedConditionalView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5193,20 +5489,32 @@ class GenericAlwaysFalseConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5223,20 +5531,32 @@ class GenericAlwaysFalseConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5252,11 +5572,18 @@ class GenericAlwaysFalseConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5640,20 +5967,32 @@ class GenericOnlyAlwaysFalseConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5669,11 +6008,18 @@ class GenericOnlyAlwaysFalseConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -6006,11 +6352,18 @@ class GenericEmptyStructView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -6448,20 +6801,32 @@ class GenericAlwaysFalseConditionDynamicSizeView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6478,20 +6843,32 @@ class GenericAlwaysFalseConditionDynamicSizeView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6508,20 +6885,32 @@ class GenericAlwaysFalseConditionDynamicSizeView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6537,11 +6926,18 @@ class GenericAlwaysFalseConditionDynamicSizeView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -7093,20 +7489,32 @@ class GenericConditionDoesNotContributeToSizeView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7123,20 +7531,32 @@ class GenericConditionDoesNotContributeToSizeView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7153,20 +7573,32 @@ class GenericConditionDoesNotContributeToSizeView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7182,11 +7614,18 @@ class GenericConditionDoesNotContributeToSizeView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -7764,20 +8203,32 @@ class GenericEnumConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7794,20 +8245,32 @@ class GenericEnumConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7824,20 +8287,32 @@ class GenericEnumConditionView final { if (has_xc2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc2().IsAggregate() || xc2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc2\":"); + } else { + emboss_reserved_local_stream->Write("xc2: "); + } xc2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7853,11 +8328,18 @@ class GenericEnumConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -8360,20 +8842,32 @@ class GenericNegativeEnumConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8390,20 +8884,32 @@ class GenericNegativeEnumConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8419,11 +8925,18 @@ class GenericNegativeEnumConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -8898,20 +9411,32 @@ class GenericLessThanConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8928,20 +9453,32 @@ class GenericLessThanConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8957,11 +9494,18 @@ class GenericLessThanConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -9436,20 +9980,32 @@ class GenericLessThanOrEqualConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -9466,20 +10022,32 @@ class GenericLessThanOrEqualConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -9495,11 +10063,18 @@ class GenericLessThanOrEqualConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -9977,20 +10552,32 @@ class GenericGreaterThanOrEqualConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -10007,20 +10594,32 @@ class GenericGreaterThanOrEqualConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -10036,11 +10635,18 @@ class GenericGreaterThanOrEqualConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -10516,20 +11122,32 @@ class GenericGreaterThanConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -10546,20 +11164,32 @@ class GenericGreaterThanConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -10575,11 +11205,18 @@ class GenericGreaterThanConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -11089,20 +11726,32 @@ class GenericRangeConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -11119,20 +11768,32 @@ class GenericRangeConditionView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -11149,20 +11810,32 @@ class GenericRangeConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -11178,11 +11851,18 @@ class GenericRangeConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -11730,20 +12410,32 @@ class GenericReverseRangeConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { - if (emboss_reserved_local_field_options.multiline()) { - emboss_reserved_local_stream->Write( - emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { emboss_reserved_local_stream->Write(","); } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -11760,20 +12452,32 @@ class GenericReverseRangeConditionView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -11790,20 +12494,32 @@ class GenericReverseRangeConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -11819,11 +12535,18 @@ class GenericReverseRangeConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -12370,20 +13093,32 @@ class GenericAndConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -12400,20 +13135,32 @@ class GenericAndConditionView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -12430,20 +13177,32 @@ class GenericAndConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -12459,11 +13218,18 @@ class GenericAndConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -13002,20 +13768,32 @@ class GenericOrConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -13032,20 +13810,32 @@ class GenericOrConditionView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -13062,20 +13852,32 @@ class GenericOrConditionView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -13091,11 +13893,18 @@ class GenericOrConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -13812,20 +14621,32 @@ class GenericChoiceConditionView final { if (has_field().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || field().IsAggregate() || field().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("field: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"field\":"); + } else { + emboss_reserved_local_stream->Write("field: "); + } field().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -13842,20 +14663,32 @@ class GenericChoiceConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -13872,20 +14705,32 @@ class GenericChoiceConditionView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -13902,20 +14747,32 @@ class GenericChoiceConditionView final { if (has_xyc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xyc().IsAggregate() || xyc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xyc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xyc\":"); + } else { + emboss_reserved_local_stream->Write("xyc: "); + } xyc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -13931,11 +14788,18 @@ class GenericChoiceConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -14470,20 +15334,32 @@ class GenericEmbossReservedAnonymousField3View final { if (has_has_top().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || has_top().IsAggregate() || has_top().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("has_top: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"has_top\":"); + } else { + emboss_reserved_local_stream->Write("has_top: "); + } has_top().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -14500,20 +15376,32 @@ class GenericEmbossReservedAnonymousField3View final { if (has_has_bottom().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || has_bottom().IsAggregate() || has_bottom().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("has_bottom: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"has_bottom\":"); + } else { + emboss_reserved_local_stream->Write("has_bottom: "); + } has_bottom().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -14529,11 +15417,18 @@ class GenericEmbossReservedAnonymousField3View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -14936,20 +15831,32 @@ class GenericContainsBitsView final { if (has_has_top().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || has_top().IsAggregate() || has_top().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("has_top: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"has_top\":"); + } else { + emboss_reserved_local_stream->Write("has_top: "); + } has_top().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -14966,20 +15873,32 @@ class GenericContainsBitsView final { if (has_has_bottom().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || has_bottom().IsAggregate() || has_bottom().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("has_bottom: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"has_bottom\":"); + } else { + emboss_reserved_local_stream->Write("has_bottom: "); + } has_bottom().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -14995,11 +15914,18 @@ class GenericContainsBitsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -15445,20 +16371,32 @@ class GenericContainsContainsBitsView final { if (has_condition().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || condition().IsAggregate() || condition().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("condition: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"condition\":"); + } else { + emboss_reserved_local_stream->Write("condition: "); + } condition().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -15475,20 +16413,32 @@ class GenericContainsContainsBitsView final { if (has_top().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || top().IsAggregate() || top().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("top: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"top\":"); + } else { + emboss_reserved_local_stream->Write("top: "); + } top().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -15504,11 +16454,18 @@ class GenericContainsContainsBitsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -16014,20 +16971,32 @@ class GenericType0View final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -16044,20 +17013,32 @@ class GenericType0View final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -16074,20 +17055,32 @@ class GenericType0View final { if (has_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || c().IsAggregate() || c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"c\":"); + } else { + emboss_reserved_local_stream->Write("c: "); + } c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -16103,11 +17096,18 @@ class GenericType0View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -16571,20 +17571,32 @@ class GenericType1View final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -16601,20 +17613,32 @@ class GenericType1View final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -16631,20 +17655,32 @@ class GenericType1View final { if (has_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || c().IsAggregate() || c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"c\":"); + } else { + emboss_reserved_local_stream->Write("c: "); + } c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -16660,11 +17696,18 @@ class GenericType1View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -17149,20 +18192,32 @@ class GenericConditionalInlineView final { if (has_payload_id().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || payload_id().IsAggregate() || payload_id().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("payload_id: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"payload_id\":"); + } else { + emboss_reserved_local_stream->Write("payload_id: "); + } payload_id().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -17179,20 +18234,32 @@ class GenericConditionalInlineView final { if (has_type_0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || type_0().IsAggregate() || type_0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("type_0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"type_0\":"); + } else { + emboss_reserved_local_stream->Write("type_0: "); + } type_0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -17209,20 +18276,32 @@ class GenericConditionalInlineView final { if (has_type_1().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || type_1().IsAggregate() || type_1().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("type_1: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"type_1\":"); + } else { + emboss_reserved_local_stream->Write("type_1: "); + } type_1().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -17238,11 +18317,18 @@ class GenericConditionalInlineView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -17793,20 +18879,32 @@ class GenericEmbossReservedAnonymousField2View final { if (has_low().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || low().IsAggregate() || low().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("low: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"low\":"); + } else { + emboss_reserved_local_stream->Write("low: "); + } low().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -17823,20 +18921,32 @@ class GenericEmbossReservedAnonymousField2View final { if (has_mid().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || mid().IsAggregate() || mid().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("mid: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"mid\":"); + } else { + emboss_reserved_local_stream->Write("mid: "); + } mid().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -17853,20 +18963,32 @@ class GenericEmbossReservedAnonymousField2View final { if (has_high().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || high().IsAggregate() || high().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("high: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"high\":"); + } else { + emboss_reserved_local_stream->Write("high: "); + } high().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -17882,11 +19004,18 @@ class GenericEmbossReservedAnonymousField2View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -18346,20 +19475,32 @@ class GenericConditionalAnonymousView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -18376,20 +19517,32 @@ class GenericConditionalAnonymousView final { if (has_low().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || low().IsAggregate() || low().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("low: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"low\":"); + } else { + emboss_reserved_local_stream->Write("low: "); + } low().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -18406,20 +19559,32 @@ class GenericConditionalAnonymousView final { if (has_mid().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || mid().IsAggregate() || mid().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("mid: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"mid\":"); + } else { + emboss_reserved_local_stream->Write("mid: "); + } mid().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -18436,20 +19601,32 @@ class GenericConditionalAnonymousView final { if (has_high().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || high().IsAggregate() || high().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("high: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"high\":"); + } else { + emboss_reserved_local_stream->Write("high: "); + } high().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -18465,11 +19642,18 @@ class GenericConditionalAnonymousView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -18937,20 +20121,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_enabled().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || enabled().IsAggregate() || enabled().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("enabled: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"enabled\":"); + } else { + emboss_reserved_local_stream->Write("enabled: "); + } enabled().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -18966,11 +20162,18 @@ class GenericEmbossReservedAnonymousField1View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -19391,20 +20594,32 @@ class GenericConditionalOnFlagView final { if (has_enabled().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || enabled().IsAggregate() || enabled().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("enabled: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"enabled\":"); + } else { + emboss_reserved_local_stream->Write("enabled: "); + } enabled().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -19421,20 +20636,32 @@ class GenericConditionalOnFlagView final { if (has_value().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value().IsAggregate() || value().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value\":"); + } else { + emboss_reserved_local_stream->Write("value: "); + } value().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -19450,11 +20677,18 @@ class GenericConditionalOnFlagView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/dynamic_size.emb.h b/testdata/golden_cpp/dynamic_size.emb.h index 4ad358b2..50640bcc 100644 --- a/testdata/golden_cpp/dynamic_size.emb.h +++ b/testdata/golden_cpp/dynamic_size.emb.h @@ -412,20 +412,32 @@ class GenericMessageView final { if (has_header_length().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || header_length().IsAggregate() || header_length().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("header_length: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"header_length\":"); + } else { + emboss_reserved_local_stream->Write("header_length: "); + } header_length().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -442,20 +454,32 @@ class GenericMessageView final { if (has_message_length().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || message_length().IsAggregate() || message_length().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("message_length: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"message_length\":"); + } else { + emboss_reserved_local_stream->Write("message_length: "); + } message_length().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -472,20 +496,32 @@ class GenericMessageView final { if (has_padding().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || padding().IsAggregate() || padding().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("padding: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"padding\":"); + } else { + emboss_reserved_local_stream->Write("padding: "); + } padding().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -502,20 +538,32 @@ class GenericMessageView final { if (has_message().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || message().IsAggregate() || message().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("message: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"message\":"); + } else { + emboss_reserved_local_stream->Write("message: "); + } message().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -532,20 +580,32 @@ class GenericMessageView final { if (has_crc32().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || crc32().IsAggregate() || crc32().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("crc32: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"crc32\":"); + } else { + emboss_reserved_local_stream->Write("crc32: "); + } crc32().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -561,11 +621,18 @@ class GenericMessageView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1118,20 +1185,32 @@ class GenericImageView final { if (has_size().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || size().IsAggregate() || size().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("size: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"size\":"); + } else { + emboss_reserved_local_stream->Write("size: "); + } size().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1148,20 +1227,32 @@ class GenericImageView final { if (has_pixels().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || pixels().IsAggregate() || pixels().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("pixels: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"pixels\":"); + } else { + emboss_reserved_local_stream->Write("pixels: "); + } pixels().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1177,11 +1268,18 @@ class GenericImageView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1824,20 +1922,32 @@ class GenericTwoRegionsView final { if (has_b_end().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b_end().IsAggregate() || b_end().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b_end: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b_end\":"); + } else { + emboss_reserved_local_stream->Write("b_end: "); + } b_end().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1854,20 +1964,32 @@ class GenericTwoRegionsView final { if (has_b_start().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b_start().IsAggregate() || b_start().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b_start: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b_start\":"); + } else { + emboss_reserved_local_stream->Write("b_start: "); + } b_start().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1884,20 +2006,32 @@ class GenericTwoRegionsView final { if (has_a_size().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a_size().IsAggregate() || a_size().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a_size: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a_size\":"); + } else { + emboss_reserved_local_stream->Write("a_size: "); + } a_size().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1914,20 +2048,32 @@ class GenericTwoRegionsView final { if (has_a_start().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a_start().IsAggregate() || a_start().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a_start: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a_start\":"); + } else { + emboss_reserved_local_stream->Write("a_start: "); + } a_start().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1944,20 +2090,32 @@ class GenericTwoRegionsView final { if (has_region_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || region_a().IsAggregate() || region_a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("region_a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"region_a\":"); + } else { + emboss_reserved_local_stream->Write("region_a: "); + } region_a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1974,20 +2132,32 @@ class GenericTwoRegionsView final { if (has_region_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || region_b().IsAggregate() || region_b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("region_b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"region_b\":"); + } else { + emboss_reserved_local_stream->Write("region_b: "); + } region_b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2003,11 +2173,18 @@ class GenericTwoRegionsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2615,20 +2792,32 @@ class GenericMultipliedSizeView final { if (has_width().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || width().IsAggregate() || width().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("width: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"width\":"); + } else { + emboss_reserved_local_stream->Write("width: "); + } width().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2645,20 +2834,32 @@ class GenericMultipliedSizeView final { if (has_height().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || height().IsAggregate() || height().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("height: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"height\":"); + } else { + emboss_reserved_local_stream->Write("height: "); + } height().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2675,20 +2876,32 @@ class GenericMultipliedSizeView final { if (has_data().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || data().IsAggregate() || data().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("data: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"data\":"); + } else { + emboss_reserved_local_stream->Write("data: "); + } data().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2704,11 +2917,18 @@ class GenericMultipliedSizeView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -3476,20 +3696,32 @@ class GenericNegativeTermsInSizesView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3506,20 +3738,32 @@ class GenericNegativeTermsInSizesView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3536,20 +3780,32 @@ class GenericNegativeTermsInSizesView final { if (has_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || c().IsAggregate() || c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"c\":"); + } else { + emboss_reserved_local_stream->Write("c: "); + } c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3566,20 +3822,32 @@ class GenericNegativeTermsInSizesView final { if (has_a_minus_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a_minus_b().IsAggregate() || a_minus_b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a_minus_b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a_minus_b\":"); + } else { + emboss_reserved_local_stream->Write("a_minus_b: "); + } a_minus_b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3596,20 +3864,32 @@ class GenericNegativeTermsInSizesView final { if (has_a_minus_2b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a_minus_2b().IsAggregate() || a_minus_2b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a_minus_2b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a_minus_2b\":"); + } else { + emboss_reserved_local_stream->Write("a_minus_2b: "); + } a_minus_2b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3626,20 +3906,32 @@ class GenericNegativeTermsInSizesView final { if (has_a_minus_b_minus_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a_minus_b_minus_c().IsAggregate() || a_minus_b_minus_c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a_minus_b_minus_c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a_minus_b_minus_c\":"); + } else { + emboss_reserved_local_stream->Write("a_minus_b_minus_c: "); + } a_minus_b_minus_c().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3658,20 +3950,32 @@ class GenericNegativeTermsInSizesView final { if (has_ten_minus_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || ten_minus_a().IsAggregate() || ten_minus_a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("ten_minus_a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"ten_minus_a\":"); + } else { + emboss_reserved_local_stream->Write("ten_minus_a: "); + } ten_minus_a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3688,20 +3992,32 @@ class GenericNegativeTermsInSizesView final { if (has_a_minus_2c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a_minus_2c().IsAggregate() || a_minus_2c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a_minus_2c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a_minus_2c\":"); + } else { + emboss_reserved_local_stream->Write("a_minus_2c: "); + } a_minus_2c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3718,20 +4034,32 @@ class GenericNegativeTermsInSizesView final { if (has_a_minus_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a_minus_c().IsAggregate() || a_minus_c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a_minus_c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a_minus_c\":"); + } else { + emboss_reserved_local_stream->Write("a_minus_c: "); + } a_minus_c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3747,11 +4075,18 @@ class GenericNegativeTermsInSizesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -4495,20 +4830,32 @@ class GenericNegativeTermInLocationView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4525,20 +4872,32 @@ class GenericNegativeTermInLocationView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4554,11 +4913,18 @@ class GenericNegativeTermInLocationView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5109,20 +5475,32 @@ class GenericChainedSizeView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5139,20 +5517,32 @@ class GenericChainedSizeView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5169,20 +5559,32 @@ class GenericChainedSizeView final { if (has_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || c().IsAggregate() || c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"c\":"); + } else { + emboss_reserved_local_stream->Write("c: "); + } c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5199,20 +5601,32 @@ class GenericChainedSizeView final { if (has_d().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || d().IsAggregate() || d().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("d: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"d\":"); + } else { + emboss_reserved_local_stream->Write("d: "); + } d().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5228,11 +5642,18 @@ class GenericChainedSizeView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5805,20 +6226,32 @@ class GenericFinalFieldOverlapsView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5835,20 +6268,32 @@ class GenericFinalFieldOverlapsView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5865,20 +6310,32 @@ class GenericFinalFieldOverlapsView final { if (has_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || c().IsAggregate() || c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"c\":"); + } else { + emboss_reserved_local_stream->Write("c: "); + } c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5894,11 +6351,18 @@ class GenericFinalFieldOverlapsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -6405,20 +6869,32 @@ class GenericDynamicFinalFieldOverlapsView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6435,20 +6911,32 @@ class GenericDynamicFinalFieldOverlapsView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6465,20 +6953,32 @@ class GenericDynamicFinalFieldOverlapsView final { if (has_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || c().IsAggregate() || c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"c\":"); + } else { + emboss_reserved_local_stream->Write("c: "); + } c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6495,20 +6995,32 @@ class GenericDynamicFinalFieldOverlapsView final { if (has_d().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || d().IsAggregate() || d().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("d: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"d\":"); + } else { + emboss_reserved_local_stream->Write("d: "); + } d().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6524,11 +7036,18 @@ class GenericDynamicFinalFieldOverlapsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -7051,20 +7570,32 @@ class GenericDynamicFieldDependsOnLaterFieldView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7081,20 +7612,32 @@ class GenericDynamicFieldDependsOnLaterFieldView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7110,11 +7653,18 @@ class GenericDynamicFieldDependsOnLaterFieldView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -7638,20 +8188,32 @@ class GenericDynamicFieldDoesNotAffectSizeView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7668,20 +8230,32 @@ class GenericDynamicFieldDoesNotAffectSizeView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7698,20 +8272,32 @@ class GenericDynamicFieldDoesNotAffectSizeView final { if (has_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || c().IsAggregate() || c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"c\":"); + } else { + emboss_reserved_local_stream->Write("c: "); + } c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7727,11 +8313,18 @@ class GenericDynamicFieldDoesNotAffectSizeView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/enum.emb.h b/testdata/golden_cpp/enum.emb.h index 816bc7c6..a45d9e1c 100644 --- a/testdata/golden_cpp/enum.emb.h +++ b/testdata/golden_cpp/enum.emb.h @@ -254,11 +254,18 @@ class GenericConstantsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1715,20 +1722,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_wide_kind_in_bits().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || wide_kind_in_bits().IsAggregate() || wide_kind_in_bits().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("wide_kind_in_bits: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"wide_kind_in_bits\":"); + } else { + emboss_reserved_local_stream->Write("wide_kind_in_bits: "); + } wide_kind_in_bits().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1746,11 +1765,18 @@ class GenericEmbossReservedAnonymousField1View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2248,20 +2274,32 @@ class GenericManifestEntryView final { if (has_kind().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || kind().IsAggregate() || kind().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("kind: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"kind\":"); + } else { + emboss_reserved_local_stream->Write("kind: "); + } kind().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2278,20 +2316,32 @@ class GenericManifestEntryView final { if (has_count().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || count().IsAggregate() || count().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("count: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"count\":"); + } else { + emboss_reserved_local_stream->Write("count: "); + } count().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2308,20 +2358,32 @@ class GenericManifestEntryView final { if (has_wide_kind().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || wide_kind().IsAggregate() || wide_kind().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("wide_kind: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"wide_kind\":"); + } else { + emboss_reserved_local_stream->Write("wide_kind: "); + } wide_kind().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2338,20 +2400,32 @@ class GenericManifestEntryView final { if (has_wide_kind_in_bits().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || wide_kind_in_bits().IsAggregate() || wide_kind_in_bits().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("wide_kind_in_bits: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"wide_kind_in_bits\":"); + } else { + emboss_reserved_local_stream->Write("wide_kind_in_bits: "); + } wide_kind_in_bits().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2369,11 +2443,18 @@ class GenericManifestEntryView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2885,20 +2966,32 @@ class GenericStructContainingEnumView final { if (has_bar().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || bar().IsAggregate() || bar().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("bar: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"bar\":"); + } else { + emboss_reserved_local_stream->Write("bar: "); + } bar().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2914,11 +3007,18 @@ class GenericStructContainingEnumView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/enum_case.emb.h b/testdata/golden_cpp/enum_case.emb.h index c8ef42cb..34b7cc97 100644 --- a/testdata/golden_cpp/enum_case.emb.h +++ b/testdata/golden_cpp/enum_case.emb.h @@ -477,20 +477,32 @@ class GenericUseKCamelEnumCaseView final { if (has_v().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || v().IsAggregate() || v().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("v: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"v\":"); + } else { + emboss_reserved_local_stream->Write("v: "); + } v().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -544,11 +556,18 @@ class GenericUseKCamelEnumCaseView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/explicit_sizes.emb.h b/testdata/golden_cpp/explicit_sizes.emb.h index 008d89ef..0ec38d27 100644 --- a/testdata/golden_cpp/explicit_sizes.emb.h +++ b/testdata/golden_cpp/explicit_sizes.emb.h @@ -295,20 +295,32 @@ class GenericSizedUIntArraysView final { if (has_one_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_nibble().IsAggregate() || one_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_nibble\":"); + } else { + emboss_reserved_local_stream->Write("one_nibble: "); + } one_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -325,20 +337,32 @@ class GenericSizedUIntArraysView final { if (has_two_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_nibble().IsAggregate() || two_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_nibble\":"); + } else { + emboss_reserved_local_stream->Write("two_nibble: "); + } two_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -355,20 +379,32 @@ class GenericSizedUIntArraysView final { if (has_four_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_nibble().IsAggregate() || four_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_nibble\":"); + } else { + emboss_reserved_local_stream->Write("four_nibble: "); + } four_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -384,11 +420,18 @@ class GenericSizedUIntArraysView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -861,20 +904,32 @@ class GenericSizedIntArraysView final { if (has_one_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_nibble().IsAggregate() || one_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_nibble\":"); + } else { + emboss_reserved_local_stream->Write("one_nibble: "); + } one_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -891,20 +946,32 @@ class GenericSizedIntArraysView final { if (has_two_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_nibble().IsAggregate() || two_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_nibble\":"); + } else { + emboss_reserved_local_stream->Write("two_nibble: "); + } two_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -921,20 +988,32 @@ class GenericSizedIntArraysView final { if (has_four_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_nibble().IsAggregate() || four_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_nibble\":"); + } else { + emboss_reserved_local_stream->Write("four_nibble: "); + } four_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -950,11 +1029,18 @@ class GenericSizedIntArraysView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1427,20 +1513,32 @@ class GenericSizedEnumArraysView final { if (has_one_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_nibble().IsAggregate() || one_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_nibble\":"); + } else { + emboss_reserved_local_stream->Write("one_nibble: "); + } one_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1457,20 +1555,32 @@ class GenericSizedEnumArraysView final { if (has_two_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_nibble().IsAggregate() || two_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_nibble\":"); + } else { + emboss_reserved_local_stream->Write("two_nibble: "); + } two_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1487,20 +1597,32 @@ class GenericSizedEnumArraysView final { if (has_four_nibble().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_nibble().IsAggregate() || four_nibble().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_nibble: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_nibble\":"); + } else { + emboss_reserved_local_stream->Write("four_nibble: "); + } four_nibble().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1516,11 +1638,18 @@ class GenericSizedEnumArraysView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1924,20 +2053,32 @@ class GenericBitArrayContainerView final { if (has_uint_arrays().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || uint_arrays().IsAggregate() || uint_arrays().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("uint_arrays: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"uint_arrays\":"); + } else { + emboss_reserved_local_stream->Write("uint_arrays: "); + } uint_arrays().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1953,11 +2094,18 @@ class GenericBitArrayContainerView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/float.emb.h b/testdata/golden_cpp/float.emb.h index aa75bcb0..e55b696b 100644 --- a/testdata/golden_cpp/float.emb.h +++ b/testdata/golden_cpp/float.emb.h @@ -259,20 +259,32 @@ class GenericFloatsView final { if (has_float_little_endian().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || float_little_endian().IsAggregate() || float_little_endian().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("float_little_endian: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"float_little_endian\":"); + } else { + emboss_reserved_local_stream->Write("float_little_endian: "); + } float_little_endian().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -291,20 +303,32 @@ class GenericFloatsView final { if (has_float_big_endian().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || float_big_endian().IsAggregate() || float_big_endian().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("float_big_endian: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"float_big_endian\":"); + } else { + emboss_reserved_local_stream->Write("float_big_endian: "); + } float_big_endian().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -321,11 +345,18 @@ class GenericFloatsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -754,20 +785,32 @@ class GenericDoublesView final { if (has_double_little_endian().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || double_little_endian().IsAggregate() || double_little_endian().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("double_little_endian: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"double_little_endian\":"); + } else { + emboss_reserved_local_stream->Write("double_little_endian: "); + } double_little_endian().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -786,20 +829,32 @@ class GenericDoublesView final { if (has_double_big_endian().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || double_big_endian().IsAggregate() || double_big_endian().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("double_big_endian: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"double_big_endian\":"); + } else { + emboss_reserved_local_stream->Write("double_big_endian: "); + } double_big_endian().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -817,11 +872,18 @@ class GenericDoublesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/imported.emb.h b/testdata/golden_cpp/imported.emb.h index 8f53233b..da37af51 100644 --- a/testdata/golden_cpp/imported.emb.h +++ b/testdata/golden_cpp/imported.emb.h @@ -204,20 +204,32 @@ class GenericInnerView final { if (has_value().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value().IsAggregate() || value().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value\":"); + } else { + emboss_reserved_local_stream->Write("value: "); + } value().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -233,11 +245,18 @@ class GenericInnerView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/imported_genfiles.emb.h b/testdata/golden_cpp/imported_genfiles.emb.h index 076b06e0..f4a9e7b9 100644 --- a/testdata/golden_cpp/imported_genfiles.emb.h +++ b/testdata/golden_cpp/imported_genfiles.emb.h @@ -205,20 +205,32 @@ class GenericInnerView final { if (has_value().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value().IsAggregate() || value().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value\":"); + } else { + emboss_reserved_local_stream->Write("value: "); + } value().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -234,11 +246,18 @@ class GenericInnerView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/importer.emb.h b/testdata/golden_cpp/importer.emb.h index 30a353c0..3d541078 100644 --- a/testdata/golden_cpp/importer.emb.h +++ b/testdata/golden_cpp/importer.emb.h @@ -243,20 +243,32 @@ class GenericOuterView final { if (has_inner().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || inner().IsAggregate() || inner().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("inner: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"inner\":"); + } else { + emboss_reserved_local_stream->Write("inner: "); + } inner().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -273,20 +285,32 @@ class GenericOuterView final { if (has_inner_gen().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || inner_gen().IsAggregate() || inner_gen().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("inner_gen: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"inner_gen\":"); + } else { + emboss_reserved_local_stream->Write("inner_gen: "); + } inner_gen().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -302,11 +326,18 @@ class GenericOuterView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/importer2.emb.h b/testdata/golden_cpp/importer2.emb.h index 8e24a347..3a967ef1 100644 --- a/testdata/golden_cpp/importer2.emb.h +++ b/testdata/golden_cpp/importer2.emb.h @@ -205,20 +205,32 @@ class GenericOuter2View final { if (has_outer().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || outer().IsAggregate() || outer().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("outer: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"outer\":"); + } else { + emboss_reserved_local_stream->Write("outer: "); + } outer().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -234,11 +246,18 @@ class GenericOuter2View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/inline_type.emb.h b/testdata/golden_cpp/inline_type.emb.h index 0b24980c..0086feec 100644 --- a/testdata/golden_cpp/inline_type.emb.h +++ b/testdata/golden_cpp/inline_type.emb.h @@ -439,20 +439,32 @@ class GenericFooView final { if (has_status().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || status().IsAggregate() || status().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("status: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"status\":"); + } else { + emboss_reserved_local_stream->Write("status: "); + } status().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -469,20 +481,32 @@ class GenericFooView final { if (has_secondary_status().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || secondary_status().IsAggregate() || secondary_status().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("secondary_status: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"secondary_status\":"); + } else { + emboss_reserved_local_stream->Write("secondary_status: "); + } secondary_status().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -499,11 +523,18 @@ class GenericFooView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/int_sizes.emb.h b/testdata/golden_cpp/int_sizes.emb.h index 9184ca64..165dbefd 100644 --- a/testdata/golden_cpp/int_sizes.emb.h +++ b/testdata/golden_cpp/int_sizes.emb.h @@ -463,20 +463,32 @@ class GenericSizesView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -493,20 +505,32 @@ class GenericSizesView final { if (has_two_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_byte().IsAggregate() || two_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte\":"); + } else { + emboss_reserved_local_stream->Write("two_byte: "); + } two_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -523,20 +547,32 @@ class GenericSizesView final { if (has_three_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || three_byte().IsAggregate() || three_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_byte\":"); + } else { + emboss_reserved_local_stream->Write("three_byte: "); + } three_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -553,20 +589,32 @@ class GenericSizesView final { if (has_four_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_byte().IsAggregate() || four_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte\":"); + } else { + emboss_reserved_local_stream->Write("four_byte: "); + } four_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -583,20 +631,32 @@ class GenericSizesView final { if (has_five_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || five_byte().IsAggregate() || five_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("five_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"five_byte\":"); + } else { + emboss_reserved_local_stream->Write("five_byte: "); + } five_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -613,20 +673,32 @@ class GenericSizesView final { if (has_six_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || six_byte().IsAggregate() || six_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("six_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"six_byte\":"); + } else { + emboss_reserved_local_stream->Write("six_byte: "); + } six_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -643,20 +715,32 @@ class GenericSizesView final { if (has_seven_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || seven_byte().IsAggregate() || seven_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("seven_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"seven_byte\":"); + } else { + emboss_reserved_local_stream->Write("seven_byte: "); + } seven_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -673,20 +757,32 @@ class GenericSizesView final { if (has_eight_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || eight_byte().IsAggregate() || eight_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("eight_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"eight_byte\":"); + } else { + emboss_reserved_local_stream->Write("eight_byte: "); + } eight_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -702,11 +798,18 @@ class GenericSizesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/large_array.emb.h b/testdata/golden_cpp/large_array.emb.h index c0da21bc..b2ac670a 100644 --- a/testdata/golden_cpp/large_array.emb.h +++ b/testdata/golden_cpp/large_array.emb.h @@ -244,20 +244,32 @@ class GenericUIntArrayView final { if (has_element_count().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || element_count().IsAggregate() || element_count().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("element_count: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"element_count\":"); + } else { + emboss_reserved_local_stream->Write("element_count: "); + } element_count().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -274,20 +286,32 @@ class GenericUIntArrayView final { if (has_elements().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || elements().IsAggregate() || elements().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("elements: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"elements\":"); + } else { + emboss_reserved_local_stream->Write("elements: "); + } elements().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -303,11 +327,18 @@ class GenericUIntArrayView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/many_conditionals.emb.h b/testdata/golden_cpp/many_conditionals.emb.h index 9963594f..e7783b3c 100644 --- a/testdata/golden_cpp/many_conditionals.emb.h +++ b/testdata/golden_cpp/many_conditionals.emb.h @@ -4060,20 +4060,32 @@ class GenericLargeConditionalsView final { if (has_tag().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || tag().IsAggregate() || tag().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("tag: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"tag\":"); + } else { + emboss_reserved_local_stream->Write("tag: "); + } tag().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4090,20 +4102,32 @@ class GenericLargeConditionalsView final { if (has_f0().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f0().IsAggregate() || f0().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f0: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f0\":"); + } else { + emboss_reserved_local_stream->Write("f0: "); + } f0().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4120,20 +4144,32 @@ class GenericLargeConditionalsView final { if (has_f1().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f1().IsAggregate() || f1().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f1: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f1\":"); + } else { + emboss_reserved_local_stream->Write("f1: "); + } f1().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4150,20 +4186,32 @@ class GenericLargeConditionalsView final { if (has_f2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f2().IsAggregate() || f2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f2\":"); + } else { + emboss_reserved_local_stream->Write("f2: "); + } f2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4180,20 +4228,32 @@ class GenericLargeConditionalsView final { if (has_f3().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f3().IsAggregate() || f3().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f3: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f3\":"); + } else { + emboss_reserved_local_stream->Write("f3: "); + } f3().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4210,20 +4270,32 @@ class GenericLargeConditionalsView final { if (has_f4().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f4().IsAggregate() || f4().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f4: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f4\":"); + } else { + emboss_reserved_local_stream->Write("f4: "); + } f4().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4240,20 +4312,32 @@ class GenericLargeConditionalsView final { if (has_f5().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f5().IsAggregate() || f5().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f5: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f5\":"); + } else { + emboss_reserved_local_stream->Write("f5: "); + } f5().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4270,20 +4354,32 @@ class GenericLargeConditionalsView final { if (has_f6().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f6().IsAggregate() || f6().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f6: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f6\":"); + } else { + emboss_reserved_local_stream->Write("f6: "); + } f6().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4300,20 +4396,32 @@ class GenericLargeConditionalsView final { if (has_f7().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f7().IsAggregate() || f7().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f7: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f7\":"); + } else { + emboss_reserved_local_stream->Write("f7: "); + } f7().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4330,20 +4438,32 @@ class GenericLargeConditionalsView final { if (has_f8().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f8().IsAggregate() || f8().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f8: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f8\":"); + } else { + emboss_reserved_local_stream->Write("f8: "); + } f8().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4360,20 +4480,32 @@ class GenericLargeConditionalsView final { if (has_f9().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f9().IsAggregate() || f9().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f9: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f9\":"); + } else { + emboss_reserved_local_stream->Write("f9: "); + } f9().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4390,20 +4522,32 @@ class GenericLargeConditionalsView final { if (has_f10().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f10().IsAggregate() || f10().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f10: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f10\":"); + } else { + emboss_reserved_local_stream->Write("f10: "); + } f10().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4420,20 +4564,32 @@ class GenericLargeConditionalsView final { if (has_f11().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f11().IsAggregate() || f11().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f11: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f11\":"); + } else { + emboss_reserved_local_stream->Write("f11: "); + } f11().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4450,20 +4606,32 @@ class GenericLargeConditionalsView final { if (has_f12().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f12().IsAggregate() || f12().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f12: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f12\":"); + } else { + emboss_reserved_local_stream->Write("f12: "); + } f12().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4480,20 +4648,32 @@ class GenericLargeConditionalsView final { if (has_f13().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f13().IsAggregate() || f13().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f13: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f13\":"); + } else { + emboss_reserved_local_stream->Write("f13: "); + } f13().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4510,20 +4690,32 @@ class GenericLargeConditionalsView final { if (has_f14().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f14().IsAggregate() || f14().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f14: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f14\":"); + } else { + emboss_reserved_local_stream->Write("f14: "); + } f14().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4540,20 +4732,32 @@ class GenericLargeConditionalsView final { if (has_f15().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f15().IsAggregate() || f15().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f15: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f15\":"); + } else { + emboss_reserved_local_stream->Write("f15: "); + } f15().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4570,20 +4774,32 @@ class GenericLargeConditionalsView final { if (has_f16().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f16().IsAggregate() || f16().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f16: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f16\":"); + } else { + emboss_reserved_local_stream->Write("f16: "); + } f16().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4600,20 +4816,32 @@ class GenericLargeConditionalsView final { if (has_f17().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f17().IsAggregate() || f17().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f17: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f17\":"); + } else { + emboss_reserved_local_stream->Write("f17: "); + } f17().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4630,20 +4858,32 @@ class GenericLargeConditionalsView final { if (has_f18().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f18().IsAggregate() || f18().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f18: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f18\":"); + } else { + emboss_reserved_local_stream->Write("f18: "); + } f18().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4660,20 +4900,32 @@ class GenericLargeConditionalsView final { if (has_f19().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f19().IsAggregate() || f19().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f19: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f19\":"); + } else { + emboss_reserved_local_stream->Write("f19: "); + } f19().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4690,20 +4942,32 @@ class GenericLargeConditionalsView final { if (has_f20().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f20().IsAggregate() || f20().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f20: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f20\":"); + } else { + emboss_reserved_local_stream->Write("f20: "); + } f20().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4720,20 +4984,32 @@ class GenericLargeConditionalsView final { if (has_f21().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f21().IsAggregate() || f21().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f21: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f21\":"); + } else { + emboss_reserved_local_stream->Write("f21: "); + } f21().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4750,20 +5026,32 @@ class GenericLargeConditionalsView final { if (has_f22().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f22().IsAggregate() || f22().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f22: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f22\":"); + } else { + emboss_reserved_local_stream->Write("f22: "); + } f22().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4780,20 +5068,32 @@ class GenericLargeConditionalsView final { if (has_f23().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f23().IsAggregate() || f23().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f23: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f23\":"); + } else { + emboss_reserved_local_stream->Write("f23: "); + } f23().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4810,20 +5110,32 @@ class GenericLargeConditionalsView final { if (has_f24().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f24().IsAggregate() || f24().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f24\":"); } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } - emboss_reserved_local_stream->Write(" "); + emboss_reserved_local_stream->Write("f24: "); } - emboss_reserved_local_stream->Write("f24: "); f24().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4840,20 +5152,32 @@ class GenericLargeConditionalsView final { if (has_f25().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f25().IsAggregate() || f25().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f25: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f25\":"); + } else { + emboss_reserved_local_stream->Write("f25: "); + } f25().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4870,20 +5194,32 @@ class GenericLargeConditionalsView final { if (has_f26().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f26().IsAggregate() || f26().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f26: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f26\":"); + } else { + emboss_reserved_local_stream->Write("f26: "); + } f26().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4900,20 +5236,32 @@ class GenericLargeConditionalsView final { if (has_f27().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f27().IsAggregate() || f27().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f27: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f27\":"); + } else { + emboss_reserved_local_stream->Write("f27: "); + } f27().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4930,20 +5278,32 @@ class GenericLargeConditionalsView final { if (has_f28().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f28().IsAggregate() || f28().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f28: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f28\":"); + } else { + emboss_reserved_local_stream->Write("f28: "); + } f28().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4960,20 +5320,32 @@ class GenericLargeConditionalsView final { if (has_f29().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f29().IsAggregate() || f29().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f29: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f29\":"); + } else { + emboss_reserved_local_stream->Write("f29: "); + } f29().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4990,20 +5362,32 @@ class GenericLargeConditionalsView final { if (has_f30().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f30().IsAggregate() || f30().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f30: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f30\":"); + } else { + emboss_reserved_local_stream->Write("f30: "); + } f30().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5020,20 +5404,32 @@ class GenericLargeConditionalsView final { if (has_f31().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f31().IsAggregate() || f31().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f31: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f31\":"); + } else { + emboss_reserved_local_stream->Write("f31: "); + } f31().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5050,20 +5446,32 @@ class GenericLargeConditionalsView final { if (has_f32().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f32().IsAggregate() || f32().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f32: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f32\":"); + } else { + emboss_reserved_local_stream->Write("f32: "); + } f32().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5080,20 +5488,32 @@ class GenericLargeConditionalsView final { if (has_f33().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f33().IsAggregate() || f33().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f33: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f33\":"); + } else { + emboss_reserved_local_stream->Write("f33: "); + } f33().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5110,20 +5530,32 @@ class GenericLargeConditionalsView final { if (has_f34().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f34().IsAggregate() || f34().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f34: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f34\":"); + } else { + emboss_reserved_local_stream->Write("f34: "); + } f34().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5140,20 +5572,32 @@ class GenericLargeConditionalsView final { if (has_f35().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f35().IsAggregate() || f35().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f35: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f35\":"); + } else { + emboss_reserved_local_stream->Write("f35: "); + } f35().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5170,20 +5614,32 @@ class GenericLargeConditionalsView final { if (has_f36().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f36().IsAggregate() || f36().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f36: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f36\":"); + } else { + emboss_reserved_local_stream->Write("f36: "); + } f36().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5200,20 +5656,32 @@ class GenericLargeConditionalsView final { if (has_f37().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f37().IsAggregate() || f37().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f37: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f37\":"); + } else { + emboss_reserved_local_stream->Write("f37: "); + } f37().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5230,20 +5698,32 @@ class GenericLargeConditionalsView final { if (has_f38().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f38().IsAggregate() || f38().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f38: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f38\":"); + } else { + emboss_reserved_local_stream->Write("f38: "); + } f38().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5260,20 +5740,32 @@ class GenericLargeConditionalsView final { if (has_f39().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f39().IsAggregate() || f39().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f39: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f39\":"); + } else { + emboss_reserved_local_stream->Write("f39: "); + } f39().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5290,20 +5782,32 @@ class GenericLargeConditionalsView final { if (has_f40().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f40().IsAggregate() || f40().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f40: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f40\":"); + } else { + emboss_reserved_local_stream->Write("f40: "); + } f40().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5320,20 +5824,32 @@ class GenericLargeConditionalsView final { if (has_f41().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f41().IsAggregate() || f41().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f41: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f41\":"); + } else { + emboss_reserved_local_stream->Write("f41: "); + } f41().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5350,20 +5866,32 @@ class GenericLargeConditionalsView final { if (has_f42().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f42().IsAggregate() || f42().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f42: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f42\":"); + } else { + emboss_reserved_local_stream->Write("f42: "); + } f42().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5380,20 +5908,32 @@ class GenericLargeConditionalsView final { if (has_f43().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f43().IsAggregate() || f43().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f43: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f43\":"); + } else { + emboss_reserved_local_stream->Write("f43: "); + } f43().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5410,20 +5950,32 @@ class GenericLargeConditionalsView final { if (has_f44().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f44().IsAggregate() || f44().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f44: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f44\":"); + } else { + emboss_reserved_local_stream->Write("f44: "); + } f44().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5440,20 +5992,32 @@ class GenericLargeConditionalsView final { if (has_f45().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f45().IsAggregate() || f45().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f45: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f45\":"); + } else { + emboss_reserved_local_stream->Write("f45: "); + } f45().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5470,20 +6034,32 @@ class GenericLargeConditionalsView final { if (has_f46().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f46().IsAggregate() || f46().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f46: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f46\":"); + } else { + emboss_reserved_local_stream->Write("f46: "); + } f46().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5500,20 +6076,32 @@ class GenericLargeConditionalsView final { if (has_f47().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f47().IsAggregate() || f47().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f47: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f47\":"); + } else { + emboss_reserved_local_stream->Write("f47: "); + } f47().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5530,20 +6118,32 @@ class GenericLargeConditionalsView final { if (has_f48().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f48().IsAggregate() || f48().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f48: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f48\":"); + } else { + emboss_reserved_local_stream->Write("f48: "); + } f48().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5560,20 +6160,32 @@ class GenericLargeConditionalsView final { if (has_f49().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f49().IsAggregate() || f49().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f49: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f49\":"); + } else { + emboss_reserved_local_stream->Write("f49: "); + } f49().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5590,20 +6202,32 @@ class GenericLargeConditionalsView final { if (has_f50().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f50().IsAggregate() || f50().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f50: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f50\":"); + } else { + emboss_reserved_local_stream->Write("f50: "); + } f50().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5620,20 +6244,32 @@ class GenericLargeConditionalsView final { if (has_f51().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f51().IsAggregate() || f51().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f51: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f51\":"); + } else { + emboss_reserved_local_stream->Write("f51: "); + } f51().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5650,20 +6286,32 @@ class GenericLargeConditionalsView final { if (has_f52().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f52().IsAggregate() || f52().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f52: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f52\":"); + } else { + emboss_reserved_local_stream->Write("f52: "); + } f52().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5680,20 +6328,32 @@ class GenericLargeConditionalsView final { if (has_f53().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f53().IsAggregate() || f53().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f53: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f53\":"); + } else { + emboss_reserved_local_stream->Write("f53: "); + } f53().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5710,20 +6370,32 @@ class GenericLargeConditionalsView final { if (has_f54().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f54().IsAggregate() || f54().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f54: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f54\":"); + } else { + emboss_reserved_local_stream->Write("f54: "); + } f54().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5740,20 +6412,32 @@ class GenericLargeConditionalsView final { if (has_f55().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f55().IsAggregate() || f55().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f55: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f55\":"); + } else { + emboss_reserved_local_stream->Write("f55: "); + } f55().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5770,20 +6454,32 @@ class GenericLargeConditionalsView final { if (has_f56().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f56().IsAggregate() || f56().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f56: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f56\":"); + } else { + emboss_reserved_local_stream->Write("f56: "); + } f56().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5800,20 +6496,32 @@ class GenericLargeConditionalsView final { if (has_f57().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f57().IsAggregate() || f57().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f57: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f57\":"); + } else { + emboss_reserved_local_stream->Write("f57: "); + } f57().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5830,20 +6538,32 @@ class GenericLargeConditionalsView final { if (has_f58().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f58().IsAggregate() || f58().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f58: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f58\":"); + } else { + emboss_reserved_local_stream->Write("f58: "); + } f58().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5860,20 +6580,32 @@ class GenericLargeConditionalsView final { if (has_f59().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f59().IsAggregate() || f59().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f59: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f59\":"); + } else { + emboss_reserved_local_stream->Write("f59: "); + } f59().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5890,20 +6622,32 @@ class GenericLargeConditionalsView final { if (has_f60().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f60().IsAggregate() || f60().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f60: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f60\":"); + } else { + emboss_reserved_local_stream->Write("f60: "); + } f60().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5920,20 +6664,32 @@ class GenericLargeConditionalsView final { if (has_f61().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f61().IsAggregate() || f61().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f61: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f61\":"); + } else { + emboss_reserved_local_stream->Write("f61: "); + } f61().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5950,20 +6706,32 @@ class GenericLargeConditionalsView final { if (has_f62().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f62().IsAggregate() || f62().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f62: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f62\":"); + } else { + emboss_reserved_local_stream->Write("f62: "); + } f62().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5980,20 +6748,32 @@ class GenericLargeConditionalsView final { if (has_f63().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f63().IsAggregate() || f63().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f63: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f63\":"); + } else { + emboss_reserved_local_stream->Write("f63: "); + } f63().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6010,20 +6790,32 @@ class GenericLargeConditionalsView final { if (has_f64().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f64().IsAggregate() || f64().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f64: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f64\":"); + } else { + emboss_reserved_local_stream->Write("f64: "); + } f64().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6040,20 +6832,32 @@ class GenericLargeConditionalsView final { if (has_f65().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f65().IsAggregate() || f65().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f65: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f65\":"); + } else { + emboss_reserved_local_stream->Write("f65: "); + } f65().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6070,20 +6874,32 @@ class GenericLargeConditionalsView final { if (has_f66().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f66().IsAggregate() || f66().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f66: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f66\":"); + } else { + emboss_reserved_local_stream->Write("f66: "); + } f66().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6100,20 +6916,32 @@ class GenericLargeConditionalsView final { if (has_f67().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f67().IsAggregate() || f67().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f67: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f67\":"); + } else { + emboss_reserved_local_stream->Write("f67: "); + } f67().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6130,20 +6958,32 @@ class GenericLargeConditionalsView final { if (has_f68().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f68().IsAggregate() || f68().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f68: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f68\":"); + } else { + emboss_reserved_local_stream->Write("f68: "); + } f68().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6160,20 +7000,32 @@ class GenericLargeConditionalsView final { if (has_f69().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f69().IsAggregate() || f69().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f69: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f69\":"); + } else { + emboss_reserved_local_stream->Write("f69: "); + } f69().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6190,20 +7042,32 @@ class GenericLargeConditionalsView final { if (has_f70().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f70().IsAggregate() || f70().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f70: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f70\":"); + } else { + emboss_reserved_local_stream->Write("f70: "); + } f70().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6220,20 +7084,32 @@ class GenericLargeConditionalsView final { if (has_f71().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f71().IsAggregate() || f71().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f71: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f71\":"); + } else { + emboss_reserved_local_stream->Write("f71: "); + } f71().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6250,20 +7126,32 @@ class GenericLargeConditionalsView final { if (has_f72().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f72().IsAggregate() || f72().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f72: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f72\":"); + } else { + emboss_reserved_local_stream->Write("f72: "); + } f72().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6280,20 +7168,32 @@ class GenericLargeConditionalsView final { if (has_f73().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f73().IsAggregate() || f73().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f73: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f73\":"); + } else { + emboss_reserved_local_stream->Write("f73: "); + } f73().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6310,20 +7210,32 @@ class GenericLargeConditionalsView final { if (has_f74().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f74().IsAggregate() || f74().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f74: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f74\":"); + } else { + emboss_reserved_local_stream->Write("f74: "); + } f74().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6340,20 +7252,32 @@ class GenericLargeConditionalsView final { if (has_f75().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f75().IsAggregate() || f75().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f75: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f75\":"); + } else { + emboss_reserved_local_stream->Write("f75: "); + } f75().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6370,20 +7294,32 @@ class GenericLargeConditionalsView final { if (has_f76().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f76().IsAggregate() || f76().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f76: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f76\":"); + } else { + emboss_reserved_local_stream->Write("f76: "); + } f76().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6400,20 +7336,32 @@ class GenericLargeConditionalsView final { if (has_f77().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f77().IsAggregate() || f77().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f77: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f77\":"); + } else { + emboss_reserved_local_stream->Write("f77: "); + } f77().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6430,20 +7378,32 @@ class GenericLargeConditionalsView final { if (has_f78().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f78().IsAggregate() || f78().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f78: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f78\":"); + } else { + emboss_reserved_local_stream->Write("f78: "); + } f78().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6460,20 +7420,32 @@ class GenericLargeConditionalsView final { if (has_f79().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f79().IsAggregate() || f79().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f79: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f79\":"); + } else { + emboss_reserved_local_stream->Write("f79: "); + } f79().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6490,20 +7462,32 @@ class GenericLargeConditionalsView final { if (has_f80().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f80().IsAggregate() || f80().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f80: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f80\":"); + } else { + emboss_reserved_local_stream->Write("f80: "); + } f80().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6520,20 +7504,32 @@ class GenericLargeConditionalsView final { if (has_f81().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f81().IsAggregate() || f81().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f81: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f81\":"); + } else { + emboss_reserved_local_stream->Write("f81: "); + } f81().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6550,20 +7546,32 @@ class GenericLargeConditionalsView final { if (has_f82().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f82().IsAggregate() || f82().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f82: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f82\":"); + } else { + emboss_reserved_local_stream->Write("f82: "); + } f82().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6580,20 +7588,32 @@ class GenericLargeConditionalsView final { if (has_f83().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f83().IsAggregate() || f83().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f83: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f83\":"); + } else { + emboss_reserved_local_stream->Write("f83: "); + } f83().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6610,20 +7630,32 @@ class GenericLargeConditionalsView final { if (has_f84().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f84().IsAggregate() || f84().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f84: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f84\":"); + } else { + emboss_reserved_local_stream->Write("f84: "); + } f84().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6640,20 +7672,32 @@ class GenericLargeConditionalsView final { if (has_f85().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f85().IsAggregate() || f85().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f85: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f85\":"); + } else { + emboss_reserved_local_stream->Write("f85: "); + } f85().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6670,20 +7714,32 @@ class GenericLargeConditionalsView final { if (has_f86().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f86().IsAggregate() || f86().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f86: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f86\":"); + } else { + emboss_reserved_local_stream->Write("f86: "); + } f86().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6700,20 +7756,32 @@ class GenericLargeConditionalsView final { if (has_f87().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f87().IsAggregate() || f87().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f87: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f87\":"); + } else { + emboss_reserved_local_stream->Write("f87: "); + } f87().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6730,20 +7798,32 @@ class GenericLargeConditionalsView final { if (has_f88().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f88().IsAggregate() || f88().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f88: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f88\":"); + } else { + emboss_reserved_local_stream->Write("f88: "); + } f88().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6760,20 +7840,32 @@ class GenericLargeConditionalsView final { if (has_f89().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f89().IsAggregate() || f89().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f89: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f89\":"); + } else { + emboss_reserved_local_stream->Write("f89: "); + } f89().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6790,20 +7882,32 @@ class GenericLargeConditionalsView final { if (has_f90().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f90().IsAggregate() || f90().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f90: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f90\":"); + } else { + emboss_reserved_local_stream->Write("f90: "); + } f90().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6820,20 +7924,32 @@ class GenericLargeConditionalsView final { if (has_f91().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f91().IsAggregate() || f91().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f91: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f91\":"); + } else { + emboss_reserved_local_stream->Write("f91: "); + } f91().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6850,20 +7966,32 @@ class GenericLargeConditionalsView final { if (has_f92().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f92().IsAggregate() || f92().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f92: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f92\":"); + } else { + emboss_reserved_local_stream->Write("f92: "); + } f92().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6880,20 +8008,32 @@ class GenericLargeConditionalsView final { if (has_f93().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f93().IsAggregate() || f93().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f93: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f93\":"); + } else { + emboss_reserved_local_stream->Write("f93: "); + } f93().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6910,20 +8050,32 @@ class GenericLargeConditionalsView final { if (has_f94().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f94().IsAggregate() || f94().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f94: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f94\":"); + } else { + emboss_reserved_local_stream->Write("f94: "); + } f94().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6940,20 +8092,32 @@ class GenericLargeConditionalsView final { if (has_f95().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f95().IsAggregate() || f95().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f95: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f95\":"); + } else { + emboss_reserved_local_stream->Write("f95: "); + } f95().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6970,20 +8134,32 @@ class GenericLargeConditionalsView final { if (has_f96().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f96().IsAggregate() || f96().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f96: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f96\":"); + } else { + emboss_reserved_local_stream->Write("f96: "); + } f96().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7000,20 +8176,32 @@ class GenericLargeConditionalsView final { if (has_f97().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f97().IsAggregate() || f97().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f97: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f97\":"); + } else { + emboss_reserved_local_stream->Write("f97: "); + } f97().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7030,20 +8218,32 @@ class GenericLargeConditionalsView final { if (has_f98().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f98().IsAggregate() || f98().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f98: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f98\":"); + } else { + emboss_reserved_local_stream->Write("f98: "); + } f98().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7060,20 +8260,32 @@ class GenericLargeConditionalsView final { if (has_f99().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f99().IsAggregate() || f99().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f99: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f99\":"); + } else { + emboss_reserved_local_stream->Write("f99: "); + } f99().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7090,20 +8302,32 @@ class GenericLargeConditionalsView final { if (has_f0_copy().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || f0_copy().IsAggregate() || f0_copy().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("f0_copy: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"f0_copy\":"); + } else { + emboss_reserved_local_stream->Write("f0_copy: "); + } f0_copy().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7119,11 +8343,18 @@ class GenericLargeConditionalsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/nested_structure.emb.h b/testdata/golden_cpp/nested_structure.emb.h index dab6ae3a..ae81d31e 100644 --- a/testdata/golden_cpp/nested_structure.emb.h +++ b/testdata/golden_cpp/nested_structure.emb.h @@ -291,20 +291,32 @@ class GenericContainerView final { if (has_weight().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || weight().IsAggregate() || weight().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("weight: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"weight\":"); + } else { + emboss_reserved_local_stream->Write("weight: "); + } weight().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -321,20 +333,32 @@ class GenericContainerView final { if (has_important_box().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || important_box().IsAggregate() || important_box().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("important_box: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"important_box\":"); + } else { + emboss_reserved_local_stream->Write("important_box: "); + } important_box().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -351,20 +375,32 @@ class GenericContainerView final { if (has_other_box().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || other_box().IsAggregate() || other_box().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("other_box: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"other_box\":"); + } else { + emboss_reserved_local_stream->Write("other_box: "); + } other_box().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -380,11 +416,18 @@ class GenericContainerView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -802,20 +845,32 @@ class GenericBoxView final { if (has_id().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || id().IsAggregate() || id().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("id: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"id\":"); + } else { + emboss_reserved_local_stream->Write("id: "); + } id().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -832,20 +887,32 @@ class GenericBoxView final { if (has_count().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || count().IsAggregate() || count().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("count: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"count\":"); + } else { + emboss_reserved_local_stream->Write("count: "); + } count().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -861,11 +928,18 @@ class GenericBoxView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1280,20 +1354,32 @@ class GenericTruckView final { if (has_id().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || id().IsAggregate() || id().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("id: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"id\":"); + } else { + emboss_reserved_local_stream->Write("id: "); + } id().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1310,20 +1396,32 @@ class GenericTruckView final { if (has_cargo().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || cargo().IsAggregate() || cargo().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("cargo: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"cargo\":"); + } else { + emboss_reserved_local_stream->Write("cargo: "); + } cargo().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1339,11 +1437,18 @@ class GenericTruckView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/next_keyword.emb.h b/testdata/golden_cpp/next_keyword.emb.h index a3b2db06..92208081 100644 --- a/testdata/golden_cpp/next_keyword.emb.h +++ b/testdata/golden_cpp/next_keyword.emb.h @@ -318,20 +318,32 @@ class GenericNextKeywordView final { if (has_value32().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value32().IsAggregate() || value32().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value32: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value32\":"); + } else { + emboss_reserved_local_stream->Write("value32: "); + } value32().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -348,20 +360,32 @@ class GenericNextKeywordView final { if (has_value16().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value16().IsAggregate() || value16().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value16: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value16\":"); + } else { + emboss_reserved_local_stream->Write("value16: "); + } value16().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -378,20 +402,32 @@ class GenericNextKeywordView final { if (has_value8().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value8().IsAggregate() || value8().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value8: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value8\":"); + } else { + emboss_reserved_local_stream->Write("value8: "); + } value8().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -408,20 +444,32 @@ class GenericNextKeywordView final { if (has_value8_offset().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value8_offset().IsAggregate() || value8_offset().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value8_offset: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value8_offset\":"); + } else { + emboss_reserved_local_stream->Write("value8_offset: "); + } value8_offset().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -437,11 +485,18 @@ class GenericNextKeywordView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/no_enum_traits.emb.h b/testdata/golden_cpp/no_enum_traits.emb.h index 14c9ba23..3cc8d5c5 100644 --- a/testdata/golden_cpp/no_enum_traits.emb.h +++ b/testdata/golden_cpp/no_enum_traits.emb.h @@ -282,20 +282,32 @@ class GenericBarView final { if (has_foo().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || foo().IsAggregate() || foo().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("foo: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"foo\":"); + } else { + emboss_reserved_local_stream->Write("foo: "); + } foo().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -311,11 +323,18 @@ class GenericBarView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/parameters.emb.h b/testdata/golden_cpp/parameters.emb.h index b601bd7a..9d14fa36 100644 --- a/testdata/golden_cpp/parameters.emb.h +++ b/testdata/golden_cpp/parameters.emb.h @@ -647,20 +647,32 @@ class GenericMultiVersionView final { if (has_message_id().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || message_id().IsAggregate() || message_id().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("message_id: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"message_id\":"); + } else { + emboss_reserved_local_stream->Write("message_id: "); + } message_id().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -677,20 +689,32 @@ class GenericMultiVersionView final { if (has_axes().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || axes().IsAggregate() || axes().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("axes: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"axes\":"); + } else { + emboss_reserved_local_stream->Write("axes: "); + } axes().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -707,20 +731,32 @@ class GenericMultiVersionView final { if (has_config().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || config().IsAggregate() || config().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("config: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"config\":"); + } else { + emboss_reserved_local_stream->Write("config: "); + } config().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -737,20 +773,32 @@ class GenericMultiVersionView final { if (has_config_vx().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || config_vx().IsAggregate() || config_vx().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("config_vx: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"config_vx\":"); + } else { + emboss_reserved_local_stream->Write("config_vx: "); + } config_vx().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -766,11 +814,18 @@ class GenericMultiVersionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1433,20 +1488,32 @@ class GenericAxesView final { if (has_values().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || values().IsAggregate() || values().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("values: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"values\":"); + } else { + emboss_reserved_local_stream->Write("values: "); + } values().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1463,20 +1530,32 @@ class GenericAxesView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1493,20 +1572,32 @@ class GenericAxesView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1523,20 +1614,32 @@ class GenericAxesView final { if (has_z().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || z().IsAggregate() || z().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("z: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"z\":"); + } else { + emboss_reserved_local_stream->Write("z: "); + } z().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1572,11 +1675,18 @@ class GenericAxesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2308,20 +2418,32 @@ class GenericAxisPairView final { if (has_axis_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || axis_a().IsAggregate() || axis_a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("axis_a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"axis_a\":"); + } else { + emboss_reserved_local_stream->Write("axis_a: "); + } axis_a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2357,20 +2479,32 @@ class GenericAxisPairView final { if (has_axis_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || axis_b().IsAggregate() || axis_b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("axis_b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"axis_b\":"); + } else { + emboss_reserved_local_stream->Write("axis_b: "); + } axis_b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2386,11 +2520,18 @@ class GenericAxisPairView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2977,20 +3118,32 @@ class GenericAxesEnvelopeView final { if (has_axis_count().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || axis_count().IsAggregate() || axis_count().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("axis_count: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"axis_count\":"); + } else { + emboss_reserved_local_stream->Write("axis_count: "); + } axis_count().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3007,20 +3160,32 @@ class GenericAxesEnvelopeView final { if (has_axes().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || axes().IsAggregate() || axes().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("axes: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"axes\":"); + } else { + emboss_reserved_local_stream->Write("axes: "); + } axes().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3036,11 +3201,18 @@ class GenericAxesEnvelopeView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -3769,20 +3941,32 @@ class GenericAxisView final { if (has_value().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value().IsAggregate() || value().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value\":"); + } else { + emboss_reserved_local_stream->Write("value: "); + } value().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3818,20 +4002,32 @@ class GenericAxisView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3848,20 +4044,32 @@ class GenericAxisView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3878,20 +4086,32 @@ class GenericAxisView final { if (has_z().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || z().IsAggregate() || z().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("z: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"z\":"); + } else { + emboss_reserved_local_stream->Write("z: "); + } z().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3907,11 +4127,18 @@ class GenericAxisView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -4401,20 +4628,32 @@ class GenericConfigView final { if (has_power().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || power().IsAggregate() || power().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("power: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"power\":"); + } else { + emboss_reserved_local_stream->Write("power: "); + } power().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4430,11 +4669,18 @@ class GenericConfigView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -4804,20 +5050,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_power().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || power().IsAggregate() || power().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("power: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"power\":"); + } else { + emboss_reserved_local_stream->Write("power: "); + } power().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4833,11 +5091,18 @@ class GenericEmbossReservedAnonymousField1View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5257,20 +5522,32 @@ class GenericConfigVXView final { if (has_power().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || power().IsAggregate() || power().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("power: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"power\":"); + } else { + emboss_reserved_local_stream->Write("power: "); + } power().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5287,20 +5564,32 @@ class GenericConfigVXView final { if (has_gain().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || gain().IsAggregate() || gain().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("gain: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"gain\":"); + } else { + emboss_reserved_local_stream->Write("gain: "); + } gain().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5316,11 +5605,18 @@ class GenericConfigVXView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5747,20 +6043,32 @@ class GenericStructWithUnusedParameterView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5776,11 +6084,18 @@ class GenericStructWithUnusedParameterView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -6217,20 +6532,32 @@ class GenericStructContainingStructWithUnusedParameterView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6247,20 +6574,32 @@ class GenericStructContainingStructWithUnusedParameterView final { if (has_swup().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || swup().IsAggregate() || swup().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("swup: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"swup\":"); + } else { + emboss_reserved_local_stream->Write("swup: "); + } swup().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6276,11 +6615,18 @@ class GenericStructContainingStructWithUnusedParameterView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -6704,20 +7050,32 @@ class GenericBiasedValueView final { if (has_raw_value().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || raw_value().IsAggregate() || raw_value().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("raw_value: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"raw_value\":"); + } else { + emboss_reserved_local_stream->Write("raw_value: "); + } raw_value().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6752,11 +7110,18 @@ class GenericBiasedValueView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -7270,20 +7635,32 @@ class GenericVirtualFirstFieldWithParamView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7300,20 +7677,32 @@ class GenericVirtualFirstFieldWithParamView final { if (has_value().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value().IsAggregate() || value().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value\":"); + } else { + emboss_reserved_local_stream->Write("value: "); + } value().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7329,11 +7718,18 @@ class GenericVirtualFirstFieldWithParamView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -7795,20 +8191,32 @@ class GenericConstVirtualFirstFieldWithParamView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7824,11 +8232,18 @@ class GenericConstVirtualFirstFieldWithParamView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -8335,20 +8750,32 @@ class GenericSizedArrayOfBiasedValuesView final { if (has_element_count().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || element_count().IsAggregate() || element_count().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("element_count: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"element_count\":"); + } else { + emboss_reserved_local_stream->Write("element_count: "); + } element_count().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8365,20 +8792,32 @@ class GenericSizedArrayOfBiasedValuesView final { if (has_bias().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || bias().IsAggregate() || bias().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("bias: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"bias\":"); + } else { + emboss_reserved_local_stream->Write("bias: "); + } bias().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8395,20 +8834,32 @@ class GenericSizedArrayOfBiasedValuesView final { if (has_values().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || values().IsAggregate() || values().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("values: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"values\":"); + } else { + emboss_reserved_local_stream->Write("values: "); + } values().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8424,11 +8875,18 @@ class GenericSizedArrayOfBiasedValuesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/requires.emb.h b/testdata/golden_cpp/requires.emb.h index 4940c581..2b6ebafa 100644 --- a/testdata/golden_cpp/requires.emb.h +++ b/testdata/golden_cpp/requires.emb.h @@ -472,20 +472,32 @@ class GenericRequiresIntegersView final { if (has_zero_through_nine().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || zero_through_nine().IsAggregate() || zero_through_nine().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("zero_through_nine: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"zero_through_nine\":"); + } else { + emboss_reserved_local_stream->Write("zero_through_nine: "); + } zero_through_nine().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -504,20 +516,32 @@ class GenericRequiresIntegersView final { if (has_ten_through_twenty().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || ten_through_twenty().IsAggregate() || ten_through_twenty().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("ten_through_twenty: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"ten_through_twenty\":"); + } else { + emboss_reserved_local_stream->Write("ten_through_twenty: "); + } ten_through_twenty().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -536,20 +560,32 @@ class GenericRequiresIntegersView final { if (has_disjoint().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || disjoint().IsAggregate() || disjoint().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("disjoint: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"disjoint\":"); + } else { + emboss_reserved_local_stream->Write("disjoint: "); + } disjoint().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -586,20 +622,33 @@ class GenericRequiresIntegersView final { if (!emboss_reserved_local_field_options.allow_partial_output() || alias_of_zero_through_nine().IsAggregate() || alias_of_zero_through_nine().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("alias_of_zero_through_nine: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write( + "\"alias_of_zero_through_nine\":"); + } else { + emboss_reserved_local_stream->Write("alias_of_zero_through_nine: "); + } alias_of_zero_through_nine().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -619,20 +668,33 @@ class GenericRequiresIntegersView final { if (!emboss_reserved_local_field_options.allow_partial_output() || zero_through_nine_plus_five().IsAggregate() || zero_through_nine_plus_five().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("zero_through_nine_plus_five: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write( + "\"zero_through_nine_plus_five\":"); + } else { + emboss_reserved_local_stream->Write("zero_through_nine_plus_five: "); + } zero_through_nine_plus_five().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -650,11 +712,18 @@ class GenericRequiresIntegersView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1543,20 +1612,32 @@ class GenericEmbossReservedAnonymousField2View final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1573,20 +1654,32 @@ class GenericEmbossReservedAnonymousField2View final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1603,20 +1696,32 @@ class GenericEmbossReservedAnonymousField2View final { if (has_must_be_true().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || must_be_true().IsAggregate() || must_be_true().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("must_be_true: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"must_be_true\":"); + } else { + emboss_reserved_local_stream->Write("must_be_true: "); + } must_be_true().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1633,20 +1738,32 @@ class GenericEmbossReservedAnonymousField2View final { if (has_must_be_false().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || must_be_false().IsAggregate() || must_be_false().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("must_be_false: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"must_be_false\":"); + } else { + emboss_reserved_local_stream->Write("must_be_false: "); + } must_be_false().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1662,11 +1779,18 @@ class GenericEmbossReservedAnonymousField2View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2139,20 +2263,32 @@ class GenericRequiresBoolsView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2169,20 +2305,32 @@ class GenericRequiresBoolsView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2199,20 +2347,32 @@ class GenericRequiresBoolsView final { if (has_must_be_true().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || must_be_true().IsAggregate() || must_be_true().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("must_be_true: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"must_be_true\":"); + } else { + emboss_reserved_local_stream->Write("must_be_true: "); + } must_be_true().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2229,20 +2389,32 @@ class GenericRequiresBoolsView final { if (has_must_be_false().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || must_be_false().IsAggregate() || must_be_false().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("must_be_false: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"must_be_false\":"); + } else { + emboss_reserved_local_stream->Write("must_be_false: "); + } must_be_false().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2279,20 +2451,32 @@ class GenericRequiresBoolsView final { if (!emboss_reserved_local_field_options.allow_partial_output() || alias_of_a_must_be_true().IsAggregate() || alias_of_a_must_be_true().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("alias_of_a_must_be_true: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"alias_of_a_must_be_true\":"); + } else { + emboss_reserved_local_stream->Write("alias_of_a_must_be_true: "); + } alias_of_a_must_be_true().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2310,11 +2494,18 @@ class GenericRequiresBoolsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -3158,20 +3349,32 @@ class GenericRequiresEnumsView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3188,20 +3391,32 @@ class GenericRequiresEnumsView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3218,20 +3433,32 @@ class GenericRequiresEnumsView final { if (has_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || c().IsAggregate() || c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"c\":"); + } else { + emboss_reserved_local_stream->Write("c: "); + } c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3267,20 +3494,32 @@ class GenericRequiresEnumsView final { if (has_alias_of_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || alias_of_a().IsAggregate() || alias_of_a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("alias_of_a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"alias_of_a\":"); + } else { + emboss_reserved_local_stream->Write("alias_of_a: "); + } alias_of_a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3296,11 +3535,18 @@ class GenericRequiresEnumsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -4040,20 +4286,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4070,20 +4328,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_b_exists().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b_exists().IsAggregate() || b_exists().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b_exists: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b_exists\":"); + } else { + emboss_reserved_local_stream->Write("b_exists: "); + } b_exists().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4100,20 +4370,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4130,20 +4412,32 @@ class GenericEmbossReservedAnonymousField1View final { if (has_b_true().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b_true().IsAggregate() || b_true().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b_true: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b_true\":"); + } else { + emboss_reserved_local_stream->Write("b_true: "); + } b_true().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4159,11 +4453,18 @@ class GenericEmbossReservedAnonymousField1View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -4665,20 +4966,32 @@ class GenericRequiresWithOptionalFieldsView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4695,20 +5008,32 @@ class GenericRequiresWithOptionalFieldsView final { if (has_b_exists().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b_exists().IsAggregate() || b_exists().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b_exists: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b_exists\":"); + } else { + emboss_reserved_local_stream->Write("b_exists: "); + } b_exists().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4725,20 +5050,32 @@ class GenericRequiresWithOptionalFieldsView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4755,20 +5092,32 @@ class GenericRequiresWithOptionalFieldsView final { if (has_b_true().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b_true().IsAggregate() || b_true().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b_true: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b_true\":"); + } else { + emboss_reserved_local_stream->Write("b_true: "); + } b_true().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4784,11 +5133,18 @@ class GenericRequiresWithOptionalFieldsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5216,20 +5572,32 @@ class GenericElementView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5245,11 +5613,18 @@ class GenericElementView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5618,20 +5993,32 @@ class GenericRequiresInArrayElementsView final { if (has_xs().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xs().IsAggregate() || xs().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xs: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xs\":"); + } else { + emboss_reserved_local_stream->Write("xs: "); + } xs().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5647,11 +6034,18 @@ class GenericRequiresInArrayElementsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/start_size_range.emb.h b/testdata/golden_cpp/start_size_range.emb.h index d1025994..f4e1beed 100644 --- a/testdata/golden_cpp/start_size_range.emb.h +++ b/testdata/golden_cpp/start_size_range.emb.h @@ -324,20 +324,32 @@ class GenericStartSizeView final { if (has_size().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || size().IsAggregate() || size().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("size: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"size\":"); + } else { + emboss_reserved_local_stream->Write("size: "); + } size().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -354,20 +366,32 @@ class GenericStartSizeView final { if (has_start_size_constants().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || start_size_constants().IsAggregate() || start_size_constants().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("start_size_constants: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"start_size_constants\":"); + } else { + emboss_reserved_local_stream->Write("start_size_constants: "); + } start_size_constants().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -386,20 +410,32 @@ class GenericStartSizeView final { if (has_payload().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || payload().IsAggregate() || payload().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("payload: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"payload\":"); + } else { + emboss_reserved_local_stream->Write("payload: "); + } payload().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -416,20 +452,32 @@ class GenericStartSizeView final { if (has_counter().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || counter().IsAggregate() || counter().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("counter: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"counter\":"); + } else { + emboss_reserved_local_stream->Write("counter: "); + } counter().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -445,11 +493,18 @@ class GenericStartSizeView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/subtypes.emb.h b/testdata/golden_cpp/subtypes.emb.h index d7895cf2..9521daee 100644 --- a/testdata/golden_cpp/subtypes.emb.h +++ b/testdata/golden_cpp/subtypes.emb.h @@ -380,20 +380,32 @@ class GenericInInView final { if (has_field_enum().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || field_enum().IsAggregate() || field_enum().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("field_enum: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"field_enum\":"); + } else { + emboss_reserved_local_stream->Write("field_enum: "); + } field_enum().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -410,20 +422,32 @@ class GenericInInView final { if (has_in_2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_2().IsAggregate() || in_2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_2\":"); + } else { + emboss_reserved_local_stream->Write("in_2: "); + } in_2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -439,11 +463,18 @@ class GenericInInView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1048,20 +1079,32 @@ class GenericInView final { if (has_in_in_1().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_in_1().IsAggregate() || in_in_1().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_in_1: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_in_1\":"); + } else { + emboss_reserved_local_stream->Write("in_in_1: "); + } in_in_1().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1078,20 +1121,32 @@ class GenericInView final { if (has_in_in_2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_in_2().IsAggregate() || in_in_2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_in_2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_in_2\":"); + } else { + emboss_reserved_local_stream->Write("in_in_2: "); + } in_in_2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1108,20 +1163,32 @@ class GenericInView final { if (has_in_in_in_1().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_in_in_1().IsAggregate() || in_in_in_1().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_in_in_1: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_in_in_1\":"); + } else { + emboss_reserved_local_stream->Write("in_in_in_1: "); + } in_in_in_1().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1138,20 +1205,32 @@ class GenericInView final { if (has_in_2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_2().IsAggregate() || in_2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_2\":"); + } else { + emboss_reserved_local_stream->Write("in_2: "); + } in_2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1168,20 +1247,32 @@ class GenericInView final { if (has_name_collision().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || name_collision().IsAggregate() || name_collision().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("name_collision: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"name_collision\":"); + } else { + emboss_reserved_local_stream->Write("name_collision: "); + } name_collision().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1198,20 +1289,32 @@ class GenericInView final { if (has_name_collision_check().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || name_collision_check().IsAggregate() || name_collision_check().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("name_collision_check: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"name_collision_check\":"); + } else { + emboss_reserved_local_stream->Write("name_collision_check: "); + } name_collision_check().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1229,11 +1332,18 @@ class GenericInView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1703,20 +1813,32 @@ class GenericIn2View final { if (has_field_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || field_byte().IsAggregate() || field_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("field_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"field_byte\":"); + } else { + emboss_reserved_local_stream->Write("field_byte: "); + } field_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1732,11 +1854,18 @@ class GenericIn2View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2374,20 +2503,32 @@ class GenericOutView final { if (has_in_1().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_1().IsAggregate() || in_1().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_1: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_1\":"); + } else { + emboss_reserved_local_stream->Write("in_1: "); + } in_1().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2404,20 +2545,32 @@ class GenericOutView final { if (has_in_2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_2().IsAggregate() || in_2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_2\":"); + } else { + emboss_reserved_local_stream->Write("in_2: "); + } in_2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2434,20 +2587,32 @@ class GenericOutView final { if (has_in_in_1().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_in_1().IsAggregate() || in_in_1().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_in_1: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_in_1\":"); + } else { + emboss_reserved_local_stream->Write("in_in_1: "); + } in_in_1().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2464,20 +2629,32 @@ class GenericOutView final { if (has_in_in_2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_in_2().IsAggregate() || in_in_2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_in_2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_in_2\":"); + } else { + emboss_reserved_local_stream->Write("in_in_2: "); + } in_in_2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2494,20 +2671,32 @@ class GenericOutView final { if (has_in_in_in_1().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_in_in_1().IsAggregate() || in_in_in_1().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_in_in_1: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_in_in_1\":"); + } else { + emboss_reserved_local_stream->Write("in_in_in_1: "); + } in_in_in_1().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2524,20 +2713,32 @@ class GenericOutView final { if (has_in_in_in_2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || in_in_in_2().IsAggregate() || in_in_in_2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("in_in_in_2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"in_in_in_2\":"); + } else { + emboss_reserved_local_stream->Write("in_in_in_2: "); + } in_in_in_2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2554,20 +2755,32 @@ class GenericOutView final { if (has_name_collision().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || name_collision().IsAggregate() || name_collision().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("name_collision: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"name_collision\":"); + } else { + emboss_reserved_local_stream->Write("name_collision: "); + } name_collision().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2585,20 +2798,32 @@ class GenericOutView final { if (!emboss_reserved_local_field_options.allow_partial_output() || nested_constant_check().IsAggregate() || nested_constant_check().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("nested_constant_check: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"nested_constant_check\":"); + } else { + emboss_reserved_local_stream->Write("nested_constant_check: "); + } nested_constant_check().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2616,11 +2841,18 @@ class GenericOutView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/text_format.emb.h b/testdata/golden_cpp/text_format.emb.h index d15b5ac5..bd25e8dc 100644 --- a/testdata/golden_cpp/text_format.emb.h +++ b/testdata/golden_cpp/text_format.emb.h @@ -35,6 +35,26 @@ namespace StructWithSkippedStructureFields { template class GenericStructWithSkippedStructureFieldsView; +enum class JsonTestEnum : ::std::uint64_t; + +namespace JsonTestArrayStruct {} // namespace JsonTestArrayStruct + +template +class GenericJsonTestArrayStructView; + +namespace JsonTestStruct { +namespace EmbossReservedAnonymousField1 { + +} // namespace EmbossReservedAnonymousField1 + +template +class GenericEmbossReservedAnonymousField1View; + +} // namespace JsonTestStruct + +template +class GenericJsonTestStructView; + namespace Vanilla {} // namespace Vanilla template @@ -253,20 +273,32 @@ class GenericVanillaView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -283,20 +315,32 @@ class GenericVanillaView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -312,11 +356,18 @@ class GenericVanillaView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -327,7 +378,7 @@ class GenericVanillaView final { /**/ ::emboss::support::FixedSizeViewParameters< 8, ::emboss::support::AllValuesAreOk>, typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< + /**/ ::emboss::support::LittleEndianByteOrderer< typename Storage::template OffsetStorageType>, 8>> @@ -339,7 +390,7 @@ class GenericVanillaView final { /**/ ::emboss::support::FixedSizeViewParameters< 8, ::emboss::support::AllValuesAreOk>, typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< + /**/ ::emboss::support::LittleEndianByteOrderer< typename Storage::template OffsetStorageType>, 8>> @@ -771,20 +822,32 @@ class GenericStructWithSkippedFieldsView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -801,20 +864,32 @@ class GenericStructWithSkippedFieldsView final { if (has_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || c().IsAggregate() || c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"c\":"); + } else { + emboss_reserved_local_stream->Write("c: "); + } c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -830,11 +905,18 @@ class GenericStructWithSkippedFieldsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -845,7 +927,7 @@ class GenericStructWithSkippedFieldsView final { /**/ ::emboss::support::FixedSizeViewParameters< 8, ::emboss::support::AllValuesAreOk>, typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< + /**/ ::emboss::support::LittleEndianByteOrderer< typename Storage::template OffsetStorageType>, 8>> @@ -857,7 +939,7 @@ class GenericStructWithSkippedFieldsView final { /**/ ::emboss::support::FixedSizeViewParameters< 8, ::emboss::support::AllValuesAreOk>, typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< + /**/ ::emboss::support::LittleEndianByteOrderer< typename Storage::template OffsetStorageType>, 8>> @@ -869,7 +951,7 @@ class GenericStructWithSkippedFieldsView final { /**/ ::emboss::support::FixedSizeViewParameters< 8, ::emboss::support::AllValuesAreOk>, typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< + /**/ ::emboss::support::LittleEndianByteOrderer< typename Storage::template OffsetStorageType>, 8>> @@ -1309,20 +1391,32 @@ class GenericStructWithSkippedStructureFieldsView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1339,20 +1433,32 @@ class GenericStructWithSkippedStructureFieldsView final { if (has_c().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || c().IsAggregate() || c().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("c: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"c\":"); + } else { + emboss_reserved_local_stream->Write("c: "); + } c().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1368,11 +1474,18 @@ class GenericStructWithSkippedStructureFieldsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1570,211 +1683,3644 @@ MakeAlignedStructWithSkippedStructureFieldsView( /**/ ::emboss::support::ContiguousBuffer>( emboss_reserved_local_data, emboss_reserved_local_size); } +enum class JsonTestEnum : ::std::uint64_t { + ZERO = static_cast(0LL), + ONE = static_cast(1LL), + TWO = static_cast(2LL), + THREE = static_cast(3LL), + FOUR = static_cast(4LL), -namespace Vanilla {} // namespace Vanilla +}; +template +class EnumTraits; -template -inline typename ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> +template <> +class EnumTraits final { + public: + static bool TryToGetEnumFromName(const char* emboss_reserved_local_name, + JsonTestEnum* emboss_reserved_local_result) { + if (emboss_reserved_local_name == nullptr) return false; + if (!strcmp("ZERO", emboss_reserved_local_name)) { + *emboss_reserved_local_result = JsonTestEnum::ZERO; + return true; + } -GenericVanillaView::a() const { - if (has_a().ValueOr(false)) { - auto emboss_reserved_local_size = - ::emboss::support::Maybe( - static_cast(1LL)); - auto emboss_reserved_local_offset = - ::emboss::support::Maybe( - static_cast(0LL)); - if (emboss_reserved_local_size.Known() && - emboss_reserved_local_size.ValueOr(0) >= 0 && - emboss_reserved_local_offset.Known() && - emboss_reserved_local_offset.ValueOr(0) >= 0) { - return ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> + if (!strcmp("ONE", emboss_reserved_local_name)) { + *emboss_reserved_local_result = JsonTestEnum::ONE; + return true; + } - (backing_.template GetOffsetStorage<0, 0>( - emboss_reserved_local_offset.ValueOrDefault(), - emboss_reserved_local_size.ValueOrDefault())); + if (!strcmp("TWO", emboss_reserved_local_name)) { + *emboss_reserved_local_result = JsonTestEnum::TWO; + return true; + } + + if (!strcmp("THREE", emboss_reserved_local_name)) { + *emboss_reserved_local_result = JsonTestEnum::THREE; + return true; + } + + if (!strcmp("FOUR", emboss_reserved_local_name)) { + *emboss_reserved_local_result = JsonTestEnum::FOUR; + return true; } + + return false; } - return ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> - (); -} + static const char* TryToGetNameFromEnum( + JsonTestEnum emboss_reserved_local_value) { + switch (emboss_reserved_local_value) { + case JsonTestEnum::ZERO: + return "ZERO"; -template -inline ::emboss::support::Maybe GenericVanillaView::has_a() - const { - return ::emboss::support::Maybe(true); -} + case JsonTestEnum::ONE: + return "ONE"; -template -inline typename ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> + case JsonTestEnum::TWO: + return "TWO"; -GenericVanillaView::b() const { - if (has_b().ValueOr(false)) { - auto emboss_reserved_local_size = - ::emboss::support::Maybe( - static_cast(1LL)); - auto emboss_reserved_local_offset = - ::emboss::support::Maybe( - static_cast(1LL)); - if (emboss_reserved_local_size.Known() && - emboss_reserved_local_size.ValueOr(0) >= 0 && - emboss_reserved_local_offset.Known() && - emboss_reserved_local_offset.ValueOr(0) >= 0) { - return ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> + case JsonTestEnum::THREE: + return "THREE"; - (backing_.template GetOffsetStorage<0, 1>( - emboss_reserved_local_offset.ValueOrDefault(), - emboss_reserved_local_size.ValueOrDefault())); + case JsonTestEnum::FOUR: + return "FOUR"; + + default: + return nullptr; } } - return ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> - (); -} + static bool EnumIsKnown(JsonTestEnum emboss_reserved_local_value) { + switch (emboss_reserved_local_value) { + case JsonTestEnum::ZERO: + return true; -template -inline ::emboss::support::Maybe GenericVanillaView::has_b() - const { - return ::emboss::support::Maybe(true); -} + case JsonTestEnum::ONE: + return true; -namespace Vanilla { -inline constexpr ::std::int32_t IntrinsicSizeInBytes() { - return ::emboss::support::Maybe( - static_cast(2LL)) - .ValueOrDefault(); -} -} // namespace Vanilla + case JsonTestEnum::TWO: + return true; -template -inline constexpr ::std::int32_t GenericVanillaView< - Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { - return Vanilla::IntrinsicSizeInBytes(); -} + case JsonTestEnum::THREE: + return true; -template -inline constexpr ::std::int32_t GenericVanillaView:: - EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { - return Vanilla::IntrinsicSizeInBytes(); -} + case JsonTestEnum::FOUR: + return true; -namespace Vanilla { -inline constexpr ::std::int32_t MaxSizeInBytes() { - return ::emboss::support::Maybe( - static_cast(2LL)) - .ValueOrDefault(); -} -} // namespace Vanilla + default: + return false; + } + } -template -inline constexpr ::std::int32_t GenericVanillaView< - Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { - return Vanilla::MaxSizeInBytes(); -} + static ::std::ostream& SendToOstream( + ::std::ostream& emboss_reserved_local_os, + JsonTestEnum emboss_reserved_local_value) { + const char* emboss_reserved_local_name = + TryToGetNameFromEnum(emboss_reserved_local_value); + if (emboss_reserved_local_name == nullptr) { + emboss_reserved_local_os + << static_cast::type>( + emboss_reserved_local_value); + } else { + emboss_reserved_local_os << emboss_reserved_local_name; + } + return emboss_reserved_local_os; + } +}; -template -inline constexpr ::std::int32_t GenericVanillaView< - Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { - return Vanilla::MaxSizeInBytes(); +static inline bool TryToGetEnumFromName( + const char* emboss_reserved_local_name, + JsonTestEnum* emboss_reserved_local_result) { + return EnumTraits::TryToGetEnumFromName( + emboss_reserved_local_name, emboss_reserved_local_result); } -namespace Vanilla { -inline constexpr ::std::int32_t MinSizeInBytes() { - return ::emboss::support::Maybe( - static_cast(2LL)) - .ValueOrDefault(); +static inline const char* TryToGetNameFromEnum( + JsonTestEnum emboss_reserved_local_value) { + return EnumTraits::TryToGetNameFromEnum( + emboss_reserved_local_value); } -} // namespace Vanilla -template -inline constexpr ::std::int32_t GenericVanillaView< - Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { - return Vanilla::MinSizeInBytes(); +static inline bool EnumIsKnown(JsonTestEnum emboss_reserved_local_value) { + return EnumTraits::EnumIsKnown(emboss_reserved_local_value); } -template -inline constexpr ::std::int32_t GenericVanillaView< - Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { - return Vanilla::MinSizeInBytes(); +static inline ::std::ostream& operator<<( + ::std::ostream& emboss_reserved_local_os, + JsonTestEnum emboss_reserved_local_value) { + return EnumTraits::SendToOstream(emboss_reserved_local_os, + emboss_reserved_local_value); } -namespace StructWithSkippedFields {} // namespace StructWithSkippedFields -template -inline typename ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> +namespace JsonTestArrayStruct {} // namespace JsonTestArrayStruct -GenericStructWithSkippedFieldsView::a() const { - if (has_a().ValueOr(false)) { - auto emboss_reserved_local_size = - ::emboss::support::Maybe( - static_cast(1LL)); - auto emboss_reserved_local_offset = - ::emboss::support::Maybe( - static_cast(0LL)); - if (emboss_reserved_local_size.Known() && - emboss_reserved_local_size.ValueOr(0) >= 0 && - emboss_reserved_local_offset.Known() && - emboss_reserved_local_offset.ValueOr(0) >= 0) { - return ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> +template +struct EmbossReservedInternalIsGenericJsonTestArrayStructView; - (backing_.template GetOffsetStorage<0, 0>( - emboss_reserved_local_offset.ValueOrDefault(), +template +class GenericJsonTestArrayStructView final { + public: + GenericJsonTestArrayStructView() : backing_() {} + explicit GenericJsonTestArrayStructView(Storage emboss_reserved_local_bytes) + : backing_(emboss_reserved_local_bytes) {} + + template + GenericJsonTestArrayStructView( + const GenericJsonTestArrayStructView& + emboss_reserved_local_other) + : backing_{emboss_reserved_local_other.BackingStorage()} {} + + template ::type>::type>::value>::type> + explicit GenericJsonTestArrayStructView(Arg&& emboss_reserved_local_arg) + : backing_(::std::forward(emboss_reserved_local_arg)) {} + template + explicit GenericJsonTestArrayStructView(Arg0&& emboss_reserved_local_arg0, + Arg1&& emboss_reserved_local_arg1, + Args&&... emboss_reserved_local_args) + : backing_(::std::forward(emboss_reserved_local_arg0), + ::std::forward(emboss_reserved_local_arg1), + ::std::forward(emboss_reserved_local_args)...) {} + + template + GenericJsonTestArrayStructView& operator=( + const GenericJsonTestArrayStructView& + emboss_reserved_local_other) { + backing_ = emboss_reserved_local_other.BackingStorage(); + return *this; + } + + bool Ok() const { + if (!IsComplete()) return false; + + if (!has_element_one().Known()) return false; + if (has_element_one().ValueOrDefault() && !element_one().Ok()) return false; + + if (!has_element_two().Known()) return false; + if (has_element_two().ValueOrDefault() && !element_two().Ok()) return false; + + if (!has_element_three().Known()) return false; + if (has_element_three().ValueOrDefault() && !element_three().Ok()) + return false; + + if (!has_element_four().Known()) return false; + if (has_element_four().ValueOrDefault() && !element_four().Ok()) + return false; + + if (!has_IntrinsicSizeInBytes().Known()) return false; + if (has_IntrinsicSizeInBytes().ValueOrDefault() && + !IntrinsicSizeInBytes().Ok()) + return false; + + if (!has_MaxSizeInBytes().Known()) return false; + if (has_MaxSizeInBytes().ValueOrDefault() && !MaxSizeInBytes().Ok()) + return false; + + if (!has_MinSizeInBytes().Known()) return false; + if (has_MinSizeInBytes().ValueOrDefault() && !MinSizeInBytes().Ok()) + return false; + + return true; + } + Storage BackingStorage() const { return backing_; } + bool IsComplete() const { + return backing_.Ok() && IntrinsicSizeInBytes().Ok() && + backing_.SizeInBytes() >= + static_cast( + IntrinsicSizeInBytes().UncheckedRead()); + } + static constexpr ::std::size_t SizeInBytes() { + return static_cast(IntrinsicSizeInBytes().Read()); + } + static constexpr bool SizeIsKnown() { return IntrinsicSizeInBytes().Ok(); } + + template + bool Equals(GenericJsonTestArrayStructView + emboss_reserved_local_other) const { + if (!has_element_one().Known()) return false; + if (!emboss_reserved_local_other.has_element_one().Known()) return false; + + if (emboss_reserved_local_other.has_element_one().ValueOrDefault() && + !has_element_one().ValueOrDefault()) + return false; + if (has_element_one().ValueOrDefault() && + !emboss_reserved_local_other.has_element_one().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_element_one().ValueOrDefault() && + has_element_one().ValueOrDefault() && + !element_one().Equals(emboss_reserved_local_other.element_one())) + return false; + + if (!has_element_two().Known()) return false; + if (!emboss_reserved_local_other.has_element_two().Known()) return false; + + if (emboss_reserved_local_other.has_element_two().ValueOrDefault() && + !has_element_two().ValueOrDefault()) + return false; + if (has_element_two().ValueOrDefault() && + !emboss_reserved_local_other.has_element_two().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_element_two().ValueOrDefault() && + has_element_two().ValueOrDefault() && + !element_two().Equals(emboss_reserved_local_other.element_two())) + return false; + + if (!has_element_three().Known()) return false; + if (!emboss_reserved_local_other.has_element_three().Known()) return false; + + if (emboss_reserved_local_other.has_element_three().ValueOrDefault() && + !has_element_three().ValueOrDefault()) + return false; + if (has_element_three().ValueOrDefault() && + !emboss_reserved_local_other.has_element_three().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_element_three().ValueOrDefault() && + has_element_three().ValueOrDefault() && + !element_three().Equals(emboss_reserved_local_other.element_three())) + return false; + + if (!has_element_four().Known()) return false; + if (!emboss_reserved_local_other.has_element_four().Known()) return false; + + if (emboss_reserved_local_other.has_element_four().ValueOrDefault() && + !has_element_four().ValueOrDefault()) + return false; + if (has_element_four().ValueOrDefault() && + !emboss_reserved_local_other.has_element_four().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_element_four().ValueOrDefault() && + has_element_four().ValueOrDefault() && + !element_four().Equals(emboss_reserved_local_other.element_four())) + return false; + + return true; + } + template + bool UncheckedEquals(GenericJsonTestArrayStructView + emboss_reserved_local_other) const { + if (emboss_reserved_local_other.has_element_one().ValueOr(false) && + !has_element_one().ValueOr(false)) + return false; + if (has_element_one().ValueOr(false) && + !emboss_reserved_local_other.has_element_one().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_element_one().ValueOr(false) && + has_element_one().ValueOr(false) && + !element_one().UncheckedEquals( + emboss_reserved_local_other.element_one())) + return false; + + if (emboss_reserved_local_other.has_element_two().ValueOr(false) && + !has_element_two().ValueOr(false)) + return false; + if (has_element_two().ValueOr(false) && + !emboss_reserved_local_other.has_element_two().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_element_two().ValueOr(false) && + has_element_two().ValueOr(false) && + !element_two().UncheckedEquals( + emboss_reserved_local_other.element_two())) + return false; + + if (emboss_reserved_local_other.has_element_three().ValueOr(false) && + !has_element_three().ValueOr(false)) + return false; + if (has_element_three().ValueOr(false) && + !emboss_reserved_local_other.has_element_three().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_element_three().ValueOr(false) && + has_element_three().ValueOr(false) && + !element_three().UncheckedEquals( + emboss_reserved_local_other.element_three())) + return false; + + if (emboss_reserved_local_other.has_element_four().ValueOr(false) && + !has_element_four().ValueOr(false)) + return false; + if (has_element_four().ValueOr(false) && + !emboss_reserved_local_other.has_element_four().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_element_four().ValueOr(false) && + has_element_four().ValueOr(false) && + !element_four().UncheckedEquals( + emboss_reserved_local_other.element_four())) + return false; + + return true; + } + template + void UncheckedCopyFrom(GenericJsonTestArrayStructView + emboss_reserved_local_other) const { + backing_.UncheckedCopyFrom( + emboss_reserved_local_other.BackingStorage(), + emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); + } + + template + void CopyFrom(GenericJsonTestArrayStructView + emboss_reserved_local_other) const { + backing_.CopyFrom( + emboss_reserved_local_other.BackingStorage(), + emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); + } + template + bool TryToCopyFrom(GenericJsonTestArrayStructView + emboss_reserved_local_other) const { + return emboss_reserved_local_other.Ok() && + backing_.TryToCopyFrom( + emboss_reserved_local_other.BackingStorage(), + emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); + } + + template + bool UpdateFromTextStream(Stream* emboss_reserved_local_stream) const { + ::std::string emboss_reserved_local_brace; + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_brace)) + return false; + if (emboss_reserved_local_brace != "{") return false; + for (;;) { + ::std::string emboss_reserved_local_name; + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_name)) + return false; + if (emboss_reserved_local_name == ",") + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_name)) + return false; + if (emboss_reserved_local_name == "}") return true; + ::std::string emboss_reserved_local_colon; + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_colon)) + return false; + if (emboss_reserved_local_colon != ":") return false; + if (emboss_reserved_local_name == "element_one") { + if (!element_one().UpdateFromTextStream(emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "element_two") { + if (!element_two().UpdateFromTextStream(emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "element_three") { + if (!element_three().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "element_four") { + if (!element_four().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + return false; + } + } + + template + void WriteToTextStream( + Stream* emboss_reserved_local_stream, + ::emboss::TextOutputOptions emboss_reserved_local_options) const { + ::emboss::TextOutputOptions emboss_reserved_local_field_options = + emboss_reserved_local_options.PlusOneIndent(); + if (emboss_reserved_local_options.multiline()) { + emboss_reserved_local_stream->Write("{\n"); + } else { + emboss_reserved_local_stream->Write("{"); + } + bool emboss_reserved_local_wrote_field = false; + if (has_element_one().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + element_one().IsAggregate() || element_one().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"element_one\":"); + } else { + emboss_reserved_local_stream->Write("element_one: "); + } + element_one().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !element_one().IsAggregate() && !element_one().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# element_one: UNREADABLE\n"); + } + } + + if (has_element_two().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + element_two().IsAggregate() || element_two().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"element_two\":"); + } else { + emboss_reserved_local_stream->Write("element_two: "); + } + element_two().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !element_two().IsAggregate() && !element_two().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# element_two: UNREADABLE\n"); + } + } + + if (has_element_three().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + element_three().IsAggregate() || element_three().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"element_three\":"); + } else { + emboss_reserved_local_stream->Write("element_three: "); + } + element_three().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !element_three().IsAggregate() && !element_three().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# element_three: UNREADABLE\n"); + } + } + + if (has_element_four().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + element_four().IsAggregate() || element_four().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"element_four\":"); + } else { + emboss_reserved_local_stream->Write("element_four: "); + } + element_four().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !element_four().IsAggregate() && !element_four().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# element_four: UNREADABLE\n"); + } + } + + (void)emboss_reserved_local_wrote_field; + if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_options.current_indent()); + emboss_reserved_local_stream->Write("}"); + } else { + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); + } + } + + static constexpr bool IsAggregate() { return true; } + + public: + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + element_one() const; + ::emboss::support::Maybe has_element_one() const; + + public: + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + element_two() const; + ::emboss::support::Maybe has_element_two() const; + + public: + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + element_three() const; + ::emboss::support::Maybe has_element_three() const; + + public: + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + element_four() const; + ::emboss::support::Maybe has_element_four() const; + + public: + class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { + public: + using ValueType = ::std::int32_t; + + constexpr EmbossReservedDollarVirtualIntrinsicSizeInBytesView() {} + EmbossReservedDollarVirtualIntrinsicSizeInBytesView( + const EmbossReservedDollarVirtualIntrinsicSizeInBytesView&) = default; + EmbossReservedDollarVirtualIntrinsicSizeInBytesView( + EmbossReservedDollarVirtualIntrinsicSizeInBytesView&&) = default; + EmbossReservedDollarVirtualIntrinsicSizeInBytesView& operator=( + const EmbossReservedDollarVirtualIntrinsicSizeInBytesView&) = default; + EmbossReservedDollarVirtualIntrinsicSizeInBytesView& operator=( + EmbossReservedDollarVirtualIntrinsicSizeInBytesView&&) = default; + ~EmbossReservedDollarVirtualIntrinsicSizeInBytesView() = default; + + static constexpr ::std::int32_t Read(); + static constexpr ::std::int32_t UncheckedRead(); + static constexpr bool Ok() { return true; } + template + void WriteToTextStream(Stream* emboss_reserved_local_stream, + const ::emboss::TextOutputOptions& + emboss_reserved_local_options) const { + ::emboss::support::WriteIntegerViewToTextStream( + this, emboss_reserved_local_stream, emboss_reserved_local_options); + } + + static constexpr bool IsAggregate() { return false; } + }; + + static constexpr EmbossReservedDollarVirtualIntrinsicSizeInBytesView + IntrinsicSizeInBytes() { + return EmbossReservedDollarVirtualIntrinsicSizeInBytesView(); + } + static constexpr ::emboss::support::Maybe has_IntrinsicSizeInBytes() { + return ::emboss::support::Maybe(true); + } + + public: + class EmbossReservedDollarVirtualMaxSizeInBytesView final { + public: + using ValueType = ::std::int32_t; + + constexpr EmbossReservedDollarVirtualMaxSizeInBytesView() {} + EmbossReservedDollarVirtualMaxSizeInBytesView( + const EmbossReservedDollarVirtualMaxSizeInBytesView&) = default; + EmbossReservedDollarVirtualMaxSizeInBytesView( + EmbossReservedDollarVirtualMaxSizeInBytesView&&) = default; + EmbossReservedDollarVirtualMaxSizeInBytesView& operator=( + const EmbossReservedDollarVirtualMaxSizeInBytesView&) = default; + EmbossReservedDollarVirtualMaxSizeInBytesView& operator=( + EmbossReservedDollarVirtualMaxSizeInBytesView&&) = default; + ~EmbossReservedDollarVirtualMaxSizeInBytesView() = default; + + static constexpr ::std::int32_t Read(); + static constexpr ::std::int32_t UncheckedRead(); + static constexpr bool Ok() { return true; } + template + void WriteToTextStream(Stream* emboss_reserved_local_stream, + const ::emboss::TextOutputOptions& + emboss_reserved_local_options) const { + ::emboss::support::WriteIntegerViewToTextStream( + this, emboss_reserved_local_stream, emboss_reserved_local_options); + } + + static constexpr bool IsAggregate() { return false; } + }; + + static constexpr EmbossReservedDollarVirtualMaxSizeInBytesView + MaxSizeInBytes() { + return EmbossReservedDollarVirtualMaxSizeInBytesView(); + } + static constexpr ::emboss::support::Maybe has_MaxSizeInBytes() { + return ::emboss::support::Maybe(true); + } + + public: + class EmbossReservedDollarVirtualMinSizeInBytesView final { + public: + using ValueType = ::std::int32_t; + + constexpr EmbossReservedDollarVirtualMinSizeInBytesView() {} + EmbossReservedDollarVirtualMinSizeInBytesView( + const EmbossReservedDollarVirtualMinSizeInBytesView&) = default; + EmbossReservedDollarVirtualMinSizeInBytesView( + EmbossReservedDollarVirtualMinSizeInBytesView&&) = default; + EmbossReservedDollarVirtualMinSizeInBytesView& operator=( + const EmbossReservedDollarVirtualMinSizeInBytesView&) = default; + EmbossReservedDollarVirtualMinSizeInBytesView& operator=( + EmbossReservedDollarVirtualMinSizeInBytesView&&) = default; + ~EmbossReservedDollarVirtualMinSizeInBytesView() = default; + + static constexpr ::std::int32_t Read(); + static constexpr ::std::int32_t UncheckedRead(); + static constexpr bool Ok() { return true; } + template + void WriteToTextStream(Stream* emboss_reserved_local_stream, + const ::emboss::TextOutputOptions& + emboss_reserved_local_options) const { + ::emboss::support::WriteIntegerViewToTextStream( + this, emboss_reserved_local_stream, emboss_reserved_local_options); + } + + static constexpr bool IsAggregate() { return false; } + }; + + static constexpr EmbossReservedDollarVirtualMinSizeInBytesView + MinSizeInBytes() { + return EmbossReservedDollarVirtualMinSizeInBytesView(); + } + static constexpr ::emboss::support::Maybe has_MinSizeInBytes() { + return ::emboss::support::Maybe(true); + } + + private: + Storage backing_; + + template + friend class GenericJsonTestArrayStructView; +}; +using JsonTestArrayStructView = GenericJsonTestArrayStructView< + /**/ ::emboss::support::ReadOnlyContiguousBuffer>; +using JsonTestArrayStructWriter = GenericJsonTestArrayStructView< + /**/ ::emboss::support::ReadWriteContiguousBuffer>; + +template +struct EmbossReservedInternalIsGenericJsonTestArrayStructView { + static constexpr const bool value = false; +}; + +template +struct EmbossReservedInternalIsGenericJsonTestArrayStructView< + GenericJsonTestArrayStructView> { + static constexpr const bool value = true; +}; + +template +inline GenericJsonTestArrayStructView< + /**/ ::emboss::support::ContiguousBuffer< + typename ::std::remove_reference< + decltype(*::std::declval()->data())>::type, + 1, 0>> +MakeJsonTestArrayStructView(T&& emboss_reserved_local_arg) { + return GenericJsonTestArrayStructView< + /**/ ::emboss::support::ContiguousBuffer< + typename ::std::remove_reference< + decltype(*::std::declval()->data())>::type, + 1, 0>>(::std::forward(emboss_reserved_local_arg)); +} + +template +inline GenericJsonTestArrayStructView< + /**/ ::emboss::support::ContiguousBuffer> +MakeJsonTestArrayStructView(T* emboss_reserved_local_data, + ::std::size_t emboss_reserved_local_size) { + return GenericJsonTestArrayStructView< + /**/ ::emboss::support::ContiguousBuffer>( + emboss_reserved_local_data, emboss_reserved_local_size); +} + +template +inline GenericJsonTestArrayStructView< + /**/ ::emboss::support::ContiguousBuffer> +MakeAlignedJsonTestArrayStructView(T* emboss_reserved_local_data, + ::std::size_t emboss_reserved_local_size) { + return GenericJsonTestArrayStructView< + /**/ ::emboss::support::ContiguousBuffer>( + emboss_reserved_local_data, emboss_reserved_local_size); +} + +namespace JsonTestStruct { + +namespace EmbossReservedAnonymousField1 { + +} // namespace EmbossReservedAnonymousField1 + +template +struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField1View; + +template +class GenericEmbossReservedAnonymousField1View final { + public: + GenericEmbossReservedAnonymousField1View() : backing_() {} + explicit GenericEmbossReservedAnonymousField1View( + Storage emboss_reserved_local_bytes) + : backing_(emboss_reserved_local_bytes) {} + + template + GenericEmbossReservedAnonymousField1View( + const GenericEmbossReservedAnonymousField1View& + emboss_reserved_local_other) + : backing_{emboss_reserved_local_other.BackingStorage()} {} + + template < + typename Arg, + typename = typename ::std::enable_if< + !EmbossReservedInternalIsGenericEmbossReservedAnonymousField1View< + typename ::std::remove_cv::type>::type>::value>::type> + explicit GenericEmbossReservedAnonymousField1View( + Arg&& emboss_reserved_local_arg) + : backing_(::std::forward(emboss_reserved_local_arg)) {} + template + explicit GenericEmbossReservedAnonymousField1View( + Arg0&& emboss_reserved_local_arg0, Arg1&& emboss_reserved_local_arg1, + Args&&... emboss_reserved_local_args) + : backing_(::std::forward(emboss_reserved_local_arg0), + ::std::forward(emboss_reserved_local_arg1), + ::std::forward(emboss_reserved_local_args)...) {} + + template + GenericEmbossReservedAnonymousField1View& operator=( + const GenericEmbossReservedAnonymousField1View& + emboss_reserved_local_other) { + backing_ = emboss_reserved_local_other.BackingStorage(); + return *this; + } + + bool Ok() const { + if (!IsComplete()) return false; + + if (!has_seven_bit_uint().Known()) return false; + if (has_seven_bit_uint().ValueOrDefault() && !seven_bit_uint().Ok()) + return false; + + if (!has_one_bit_flag().Known()) return false; + if (has_one_bit_flag().ValueOrDefault() && !one_bit_flag().Ok()) + return false; + + if (!has_IntrinsicSizeInBits().Known()) return false; + if (has_IntrinsicSizeInBits().ValueOrDefault() && + !IntrinsicSizeInBits().Ok()) + return false; + + if (!has_MaxSizeInBits().Known()) return false; + if (has_MaxSizeInBits().ValueOrDefault() && !MaxSizeInBits().Ok()) + return false; + + if (!has_MinSizeInBits().Known()) return false; + if (has_MinSizeInBits().ValueOrDefault() && !MinSizeInBits().Ok()) + return false; + + return true; + } + Storage BackingStorage() const { return backing_; } + bool IsComplete() const { + return backing_.Ok() && IntrinsicSizeInBits().Ok() && + backing_.SizeInBits() >= static_cast( + IntrinsicSizeInBits().UncheckedRead()); + } + static constexpr ::std::size_t SizeInBits() { + return static_cast(IntrinsicSizeInBits().Read()); + } + static constexpr bool SizeIsKnown() { return IntrinsicSizeInBits().Ok(); } + + template + bool Equals(GenericEmbossReservedAnonymousField1View + emboss_reserved_local_other) const { + if (!has_seven_bit_uint().Known()) return false; + if (!emboss_reserved_local_other.has_seven_bit_uint().Known()) return false; + + if (emboss_reserved_local_other.has_seven_bit_uint().ValueOrDefault() && + !has_seven_bit_uint().ValueOrDefault()) + return false; + if (has_seven_bit_uint().ValueOrDefault() && + !emboss_reserved_local_other.has_seven_bit_uint().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_seven_bit_uint().ValueOrDefault() && + has_seven_bit_uint().ValueOrDefault() && + !seven_bit_uint().Equals(emboss_reserved_local_other.seven_bit_uint())) + return false; + + if (!has_one_bit_flag().Known()) return false; + if (!emboss_reserved_local_other.has_one_bit_flag().Known()) return false; + + if (emboss_reserved_local_other.has_one_bit_flag().ValueOrDefault() && + !has_one_bit_flag().ValueOrDefault()) + return false; + if (has_one_bit_flag().ValueOrDefault() && + !emboss_reserved_local_other.has_one_bit_flag().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_one_bit_flag().ValueOrDefault() && + has_one_bit_flag().ValueOrDefault() && + !one_bit_flag().Equals(emboss_reserved_local_other.one_bit_flag())) + return false; + + return true; + } + template + bool UncheckedEquals(GenericEmbossReservedAnonymousField1View + emboss_reserved_local_other) const { + if (emboss_reserved_local_other.has_seven_bit_uint().ValueOr(false) && + !has_seven_bit_uint().ValueOr(false)) + return false; + if (has_seven_bit_uint().ValueOr(false) && + !emboss_reserved_local_other.has_seven_bit_uint().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_seven_bit_uint().ValueOr(false) && + has_seven_bit_uint().ValueOr(false) && + !seven_bit_uint().UncheckedEquals( + emboss_reserved_local_other.seven_bit_uint())) + return false; + + if (emboss_reserved_local_other.has_one_bit_flag().ValueOr(false) && + !has_one_bit_flag().ValueOr(false)) + return false; + if (has_one_bit_flag().ValueOr(false) && + !emboss_reserved_local_other.has_one_bit_flag().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_one_bit_flag().ValueOr(false) && + has_one_bit_flag().ValueOr(false) && + !one_bit_flag().UncheckedEquals( + emboss_reserved_local_other.one_bit_flag())) + return false; + + return true; + } + template + void UncheckedCopyFrom(GenericEmbossReservedAnonymousField1View + emboss_reserved_local_other) const { + backing_.UncheckedCopyFrom( + emboss_reserved_local_other.BackingStorage(), + emboss_reserved_local_other.IntrinsicSizeInBits().UncheckedRead()); + } + + template + void CopyFrom(GenericEmbossReservedAnonymousField1View + emboss_reserved_local_other) const { + backing_.CopyFrom(emboss_reserved_local_other.BackingStorage(), + emboss_reserved_local_other.IntrinsicSizeInBits().Read()); + } + template + bool TryToCopyFrom(GenericEmbossReservedAnonymousField1View + emboss_reserved_local_other) const { + return emboss_reserved_local_other.Ok() && + backing_.TryToCopyFrom( + emboss_reserved_local_other.BackingStorage(), + emboss_reserved_local_other.IntrinsicSizeInBits().Read()); + } + + template + bool UpdateFromTextStream(Stream* emboss_reserved_local_stream) const { + ::std::string emboss_reserved_local_brace; + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_brace)) + return false; + if (emboss_reserved_local_brace != "{") return false; + for (;;) { + ::std::string emboss_reserved_local_name; + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_name)) + return false; + if (emboss_reserved_local_name == ",") + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_name)) + return false; + if (emboss_reserved_local_name == "}") return true; + ::std::string emboss_reserved_local_colon; + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_colon)) + return false; + if (emboss_reserved_local_colon != ":") return false; + if (emboss_reserved_local_name == "seven_bit_uint") { + if (!seven_bit_uint().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "one_bit_flag") { + if (!one_bit_flag().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + return false; + } + } + + template + void WriteToTextStream( + Stream* emboss_reserved_local_stream, + ::emboss::TextOutputOptions emboss_reserved_local_options) const { + ::emboss::TextOutputOptions emboss_reserved_local_field_options = + emboss_reserved_local_options.PlusOneIndent(); + if (emboss_reserved_local_options.multiline()) { + emboss_reserved_local_stream->Write("{\n"); + } else { + emboss_reserved_local_stream->Write("{"); + } + bool emboss_reserved_local_wrote_field = false; + if (has_seven_bit_uint().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + seven_bit_uint().IsAggregate() || seven_bit_uint().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"seven_bit_uint\":"); + } else { + emboss_reserved_local_stream->Write("seven_bit_uint: "); + } + seven_bit_uint().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !seven_bit_uint().IsAggregate() && !seven_bit_uint().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# seven_bit_uint: UNREADABLE\n"); + } + } + + if (has_one_bit_flag().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + one_bit_flag().IsAggregate() || one_bit_flag().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_bit_flag\":"); + } else { + emboss_reserved_local_stream->Write("one_bit_flag: "); + } + one_bit_flag().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !one_bit_flag().IsAggregate() && !one_bit_flag().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# one_bit_flag: UNREADABLE\n"); + } + } + + (void)emboss_reserved_local_wrote_field; + if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_options.current_indent()); + emboss_reserved_local_stream->Write("}"); + } else { + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); + } + } + + static constexpr bool IsAggregate() { return true; } + + public: + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 7, ::emboss::support::AllValuesAreOk>, + typename Storage::template OffsetStorageType> + + seven_bit_uint() const; + ::emboss::support::Maybe has_seven_bit_uint() const; + + public: + typename ::emboss::prelude::FlagView< + /**/ ::emboss::support::FixedSizeViewParameters< + 1, ::emboss::support::AllValuesAreOk>, + typename Storage::template OffsetStorageType> + + one_bit_flag() const; + ::emboss::support::Maybe has_one_bit_flag() const; + + public: + class EmbossReservedDollarVirtualIntrinsicSizeInBitsView final { + public: + using ValueType = ::std::int32_t; + + constexpr EmbossReservedDollarVirtualIntrinsicSizeInBitsView() {} + EmbossReservedDollarVirtualIntrinsicSizeInBitsView( + const EmbossReservedDollarVirtualIntrinsicSizeInBitsView&) = default; + EmbossReservedDollarVirtualIntrinsicSizeInBitsView( + EmbossReservedDollarVirtualIntrinsicSizeInBitsView&&) = default; + EmbossReservedDollarVirtualIntrinsicSizeInBitsView& operator=( + const EmbossReservedDollarVirtualIntrinsicSizeInBitsView&) = default; + EmbossReservedDollarVirtualIntrinsicSizeInBitsView& operator=( + EmbossReservedDollarVirtualIntrinsicSizeInBitsView&&) = default; + ~EmbossReservedDollarVirtualIntrinsicSizeInBitsView() = default; + + static constexpr ::std::int32_t Read(); + static constexpr ::std::int32_t UncheckedRead(); + static constexpr bool Ok() { return true; } + template + void WriteToTextStream(Stream* emboss_reserved_local_stream, + const ::emboss::TextOutputOptions& + emboss_reserved_local_options) const { + ::emboss::support::WriteIntegerViewToTextStream( + this, emboss_reserved_local_stream, emboss_reserved_local_options); + } + + static constexpr bool IsAggregate() { return false; } + }; + + static constexpr EmbossReservedDollarVirtualIntrinsicSizeInBitsView + IntrinsicSizeInBits() { + return EmbossReservedDollarVirtualIntrinsicSizeInBitsView(); + } + static constexpr ::emboss::support::Maybe has_IntrinsicSizeInBits() { + return ::emboss::support::Maybe(true); + } + + public: + class EmbossReservedDollarVirtualMaxSizeInBitsView final { + public: + using ValueType = ::std::int32_t; + + constexpr EmbossReservedDollarVirtualMaxSizeInBitsView() {} + EmbossReservedDollarVirtualMaxSizeInBitsView( + const EmbossReservedDollarVirtualMaxSizeInBitsView&) = default; + EmbossReservedDollarVirtualMaxSizeInBitsView( + EmbossReservedDollarVirtualMaxSizeInBitsView&&) = default; + EmbossReservedDollarVirtualMaxSizeInBitsView& operator=( + const EmbossReservedDollarVirtualMaxSizeInBitsView&) = default; + EmbossReservedDollarVirtualMaxSizeInBitsView& operator=( + EmbossReservedDollarVirtualMaxSizeInBitsView&&) = default; + ~EmbossReservedDollarVirtualMaxSizeInBitsView() = default; + + static constexpr ::std::int32_t Read(); + static constexpr ::std::int32_t UncheckedRead(); + static constexpr bool Ok() { return true; } + template + void WriteToTextStream(Stream* emboss_reserved_local_stream, + const ::emboss::TextOutputOptions& + emboss_reserved_local_options) const { + ::emboss::support::WriteIntegerViewToTextStream( + this, emboss_reserved_local_stream, emboss_reserved_local_options); + } + + static constexpr bool IsAggregate() { return false; } + }; + + static constexpr EmbossReservedDollarVirtualMaxSizeInBitsView + MaxSizeInBits() { + return EmbossReservedDollarVirtualMaxSizeInBitsView(); + } + static constexpr ::emboss::support::Maybe has_MaxSizeInBits() { + return ::emboss::support::Maybe(true); + } + + public: + class EmbossReservedDollarVirtualMinSizeInBitsView final { + public: + using ValueType = ::std::int32_t; + + constexpr EmbossReservedDollarVirtualMinSizeInBitsView() {} + EmbossReservedDollarVirtualMinSizeInBitsView( + const EmbossReservedDollarVirtualMinSizeInBitsView&) = default; + EmbossReservedDollarVirtualMinSizeInBitsView( + EmbossReservedDollarVirtualMinSizeInBitsView&&) = default; + EmbossReservedDollarVirtualMinSizeInBitsView& operator=( + const EmbossReservedDollarVirtualMinSizeInBitsView&) = default; + EmbossReservedDollarVirtualMinSizeInBitsView& operator=( + EmbossReservedDollarVirtualMinSizeInBitsView&&) = default; + ~EmbossReservedDollarVirtualMinSizeInBitsView() = default; + + static constexpr ::std::int32_t Read(); + static constexpr ::std::int32_t UncheckedRead(); + static constexpr bool Ok() { return true; } + template + void WriteToTextStream(Stream* emboss_reserved_local_stream, + const ::emboss::TextOutputOptions& + emboss_reserved_local_options) const { + ::emboss::support::WriteIntegerViewToTextStream( + this, emboss_reserved_local_stream, emboss_reserved_local_options); + } + + static constexpr bool IsAggregate() { return false; } + }; + + static constexpr EmbossReservedDollarVirtualMinSizeInBitsView + MinSizeInBits() { + return EmbossReservedDollarVirtualMinSizeInBitsView(); + } + static constexpr ::emboss::support::Maybe has_MinSizeInBits() { + return ::emboss::support::Maybe(true); + } + + private: + Storage backing_; + + template + friend class GenericEmbossReservedAnonymousField1View; +}; +using EmbossReservedAnonymousField1View = + GenericEmbossReservedAnonymousField1View< + /**/ ::emboss::support::ReadOnlyContiguousBuffer>; +using EmbossReservedAnonymousField1Writer = + GenericEmbossReservedAnonymousField1View< + /**/ ::emboss::support::ReadWriteContiguousBuffer>; + +template +struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField1View { + static constexpr const bool value = false; +}; + +template +struct EmbossReservedInternalIsGenericEmbossReservedAnonymousField1View< + GenericEmbossReservedAnonymousField1View> { + static constexpr const bool value = true; +}; + +template +inline GenericEmbossReservedAnonymousField1View< + /**/ ::emboss::support::ContiguousBuffer< + typename ::std::remove_reference< + decltype(*::std::declval()->data())>::type, + 1, 0>> +MakeEmbossReservedAnonymousField1View(T&& emboss_reserved_local_arg) { + return GenericEmbossReservedAnonymousField1View< + /**/ ::emboss::support::ContiguousBuffer< + typename ::std::remove_reference< + decltype(*::std::declval()->data())>::type, + 1, 0>>(::std::forward(emboss_reserved_local_arg)); +} + +template +inline GenericEmbossReservedAnonymousField1View< + /**/ ::emboss::support::ContiguousBuffer> +MakeEmbossReservedAnonymousField1View( + T* emboss_reserved_local_data, ::std::size_t emboss_reserved_local_size) { + return GenericEmbossReservedAnonymousField1View< + /**/ ::emboss::support::ContiguousBuffer>( + emboss_reserved_local_data, emboss_reserved_local_size); +} + +template +inline GenericEmbossReservedAnonymousField1View< + /**/ ::emboss::support::ContiguousBuffer> +MakeAlignedEmbossReservedAnonymousField1View( + T* emboss_reserved_local_data, ::std::size_t emboss_reserved_local_size) { + return GenericEmbossReservedAnonymousField1View< + /**/ ::emboss::support::ContiguousBuffer>( + emboss_reserved_local_data, emboss_reserved_local_size); +} + +} // namespace JsonTestStruct + +template +struct EmbossReservedInternalIsGenericJsonTestStructView; + +template +class GenericJsonTestStructView final { + public: + GenericJsonTestStructView() : backing_() {} + explicit GenericJsonTestStructView(Storage emboss_reserved_local_bytes) + : backing_(emboss_reserved_local_bytes) {} + + template + GenericJsonTestStructView(const GenericJsonTestStructView& + emboss_reserved_local_other) + : backing_{emboss_reserved_local_other.BackingStorage()} {} + + template ::type>::type>::value>::type> + explicit GenericJsonTestStructView(Arg&& emboss_reserved_local_arg) + : backing_(::std::forward(emboss_reserved_local_arg)) {} + template + explicit GenericJsonTestStructView(Arg0&& emboss_reserved_local_arg0, + Arg1&& emboss_reserved_local_arg1, + Args&&... emboss_reserved_local_args) + : backing_(::std::forward(emboss_reserved_local_arg0), + ::std::forward(emboss_reserved_local_arg1), + ::std::forward(emboss_reserved_local_args)...) {} + + template + GenericJsonTestStructView& operator=( + const GenericJsonTestStructView& + emboss_reserved_local_other) { + backing_ = emboss_reserved_local_other.BackingStorage(); + return *this; + } + + bool Ok() const { + if (!IsComplete()) return false; + + if (!has_one_byte_enum().Known()) return false; + if (has_one_byte_enum().ValueOrDefault() && !one_byte_enum().Ok()) + return false; + + if (!has_emboss_reserved_anonymous_field_1().Known()) return false; + if (has_emboss_reserved_anonymous_field_1().ValueOrDefault() && + !emboss_reserved_anonymous_field_1().Ok()) + return false; + + if (!has_one_byte_uint().Known()) return false; + if (has_one_byte_uint().ValueOrDefault() && !one_byte_uint().Ok()) + return false; + + if (!has_two_byte_uint().Known()) return false; + if (has_two_byte_uint().ValueOrDefault() && !two_byte_uint().Ok()) + return false; + + if (!has_four_byte_uint().Known()) return false; + if (has_four_byte_uint().ValueOrDefault() && !four_byte_uint().Ok()) + return false; + + if (!has_eight_byte_uint().Known()) return false; + if (has_eight_byte_uint().ValueOrDefault() && !eight_byte_uint().Ok()) + return false; + + if (!has_uint8_array().Known()) return false; + if (has_uint8_array().ValueOrDefault() && !uint8_array().Ok()) return false; + + if (!has_uint16_array().Known()) return false; + if (has_uint16_array().ValueOrDefault() && !uint16_array().Ok()) + return false; + + if (!has_struct_array().Known()) return false; + if (has_struct_array().ValueOrDefault() && !struct_array().Ok()) + return false; + + if (!has_IntrinsicSizeInBytes().Known()) return false; + if (has_IntrinsicSizeInBytes().ValueOrDefault() && + !IntrinsicSizeInBytes().Ok()) + return false; + + if (!has_MaxSizeInBytes().Known()) return false; + if (has_MaxSizeInBytes().ValueOrDefault() && !MaxSizeInBytes().Ok()) + return false; + + if (!has_MinSizeInBytes().Known()) return false; + if (has_MinSizeInBytes().ValueOrDefault() && !MinSizeInBytes().Ok()) + return false; + + if (!has_seven_bit_uint().Known()) return false; + if (has_seven_bit_uint().ValueOrDefault() && !seven_bit_uint().Ok()) + return false; + + if (!has_one_bit_flag().Known()) return false; + if (has_one_bit_flag().ValueOrDefault() && !one_bit_flag().Ok()) + return false; + + return true; + } + Storage BackingStorage() const { return backing_; } + bool IsComplete() const { + return backing_.Ok() && IntrinsicSizeInBytes().Ok() && + backing_.SizeInBytes() >= + static_cast( + IntrinsicSizeInBytes().UncheckedRead()); + } + static constexpr ::std::size_t SizeInBytes() { + return static_cast(IntrinsicSizeInBytes().Read()); + } + static constexpr bool SizeIsKnown() { return IntrinsicSizeInBytes().Ok(); } + + template + bool Equals(GenericJsonTestStructView + emboss_reserved_local_other) const { + if (!has_one_byte_enum().Known()) return false; + if (!emboss_reserved_local_other.has_one_byte_enum().Known()) return false; + + if (emboss_reserved_local_other.has_one_byte_enum().ValueOrDefault() && + !has_one_byte_enum().ValueOrDefault()) + return false; + if (has_one_byte_enum().ValueOrDefault() && + !emboss_reserved_local_other.has_one_byte_enum().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_one_byte_enum().ValueOrDefault() && + has_one_byte_enum().ValueOrDefault() && + !one_byte_enum().Equals(emboss_reserved_local_other.one_byte_enum())) + return false; + + if (!has_emboss_reserved_anonymous_field_1().Known()) return false; + if (!emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1() + .Known()) + return false; + + if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1() + .ValueOrDefault() && + !has_emboss_reserved_anonymous_field_1().ValueOrDefault()) + return false; + if (has_emboss_reserved_anonymous_field_1().ValueOrDefault() && + !emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1() + .ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1() + .ValueOrDefault() && + has_emboss_reserved_anonymous_field_1().ValueOrDefault() && + !emboss_reserved_anonymous_field_1().Equals( + emboss_reserved_local_other.emboss_reserved_anonymous_field_1())) + return false; + + if (!has_one_byte_uint().Known()) return false; + if (!emboss_reserved_local_other.has_one_byte_uint().Known()) return false; + + if (emboss_reserved_local_other.has_one_byte_uint().ValueOrDefault() && + !has_one_byte_uint().ValueOrDefault()) + return false; + if (has_one_byte_uint().ValueOrDefault() && + !emboss_reserved_local_other.has_one_byte_uint().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_one_byte_uint().ValueOrDefault() && + has_one_byte_uint().ValueOrDefault() && + !one_byte_uint().Equals(emboss_reserved_local_other.one_byte_uint())) + return false; + + if (!has_two_byte_uint().Known()) return false; + if (!emboss_reserved_local_other.has_two_byte_uint().Known()) return false; + + if (emboss_reserved_local_other.has_two_byte_uint().ValueOrDefault() && + !has_two_byte_uint().ValueOrDefault()) + return false; + if (has_two_byte_uint().ValueOrDefault() && + !emboss_reserved_local_other.has_two_byte_uint().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_two_byte_uint().ValueOrDefault() && + has_two_byte_uint().ValueOrDefault() && + !two_byte_uint().Equals(emboss_reserved_local_other.two_byte_uint())) + return false; + + if (!has_four_byte_uint().Known()) return false; + if (!emboss_reserved_local_other.has_four_byte_uint().Known()) return false; + + if (emboss_reserved_local_other.has_four_byte_uint().ValueOrDefault() && + !has_four_byte_uint().ValueOrDefault()) + return false; + if (has_four_byte_uint().ValueOrDefault() && + !emboss_reserved_local_other.has_four_byte_uint().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_four_byte_uint().ValueOrDefault() && + has_four_byte_uint().ValueOrDefault() && + !four_byte_uint().Equals(emboss_reserved_local_other.four_byte_uint())) + return false; + + if (!has_eight_byte_uint().Known()) return false; + if (!emboss_reserved_local_other.has_eight_byte_uint().Known()) + return false; + + if (emboss_reserved_local_other.has_eight_byte_uint().ValueOrDefault() && + !has_eight_byte_uint().ValueOrDefault()) + return false; + if (has_eight_byte_uint().ValueOrDefault() && + !emboss_reserved_local_other.has_eight_byte_uint().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_eight_byte_uint().ValueOrDefault() && + has_eight_byte_uint().ValueOrDefault() && + !eight_byte_uint().Equals( + emboss_reserved_local_other.eight_byte_uint())) + return false; + + if (!has_uint8_array().Known()) return false; + if (!emboss_reserved_local_other.has_uint8_array().Known()) return false; + + if (emboss_reserved_local_other.has_uint8_array().ValueOrDefault() && + !has_uint8_array().ValueOrDefault()) + return false; + if (has_uint8_array().ValueOrDefault() && + !emboss_reserved_local_other.has_uint8_array().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_uint8_array().ValueOrDefault() && + has_uint8_array().ValueOrDefault() && + !uint8_array().Equals(emboss_reserved_local_other.uint8_array())) + return false; + + if (!has_uint16_array().Known()) return false; + if (!emboss_reserved_local_other.has_uint16_array().Known()) return false; + + if (emboss_reserved_local_other.has_uint16_array().ValueOrDefault() && + !has_uint16_array().ValueOrDefault()) + return false; + if (has_uint16_array().ValueOrDefault() && + !emboss_reserved_local_other.has_uint16_array().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_uint16_array().ValueOrDefault() && + has_uint16_array().ValueOrDefault() && + !uint16_array().Equals(emboss_reserved_local_other.uint16_array())) + return false; + + if (!has_struct_array().Known()) return false; + if (!emboss_reserved_local_other.has_struct_array().Known()) return false; + + if (emboss_reserved_local_other.has_struct_array().ValueOrDefault() && + !has_struct_array().ValueOrDefault()) + return false; + if (has_struct_array().ValueOrDefault() && + !emboss_reserved_local_other.has_struct_array().ValueOrDefault()) + return false; + + if (emboss_reserved_local_other.has_struct_array().ValueOrDefault() && + has_struct_array().ValueOrDefault() && + !struct_array().Equals(emboss_reserved_local_other.struct_array())) + return false; + + return true; + } + template + bool UncheckedEquals(GenericJsonTestStructView + emboss_reserved_local_other) const { + if (emboss_reserved_local_other.has_one_byte_enum().ValueOr(false) && + !has_one_byte_enum().ValueOr(false)) + return false; + if (has_one_byte_enum().ValueOr(false) && + !emboss_reserved_local_other.has_one_byte_enum().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_one_byte_enum().ValueOr(false) && + has_one_byte_enum().ValueOr(false) && + !one_byte_enum().UncheckedEquals( + emboss_reserved_local_other.one_byte_enum())) + return false; + + if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1() + .ValueOr(false) && + !has_emboss_reserved_anonymous_field_1().ValueOr(false)) + return false; + if (has_emboss_reserved_anonymous_field_1().ValueOr(false) && + !emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1() + .ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_emboss_reserved_anonymous_field_1() + .ValueOr(false) && + has_emboss_reserved_anonymous_field_1().ValueOr(false) && + !emboss_reserved_anonymous_field_1().UncheckedEquals( + emboss_reserved_local_other.emboss_reserved_anonymous_field_1())) + return false; + + if (emboss_reserved_local_other.has_one_byte_uint().ValueOr(false) && + !has_one_byte_uint().ValueOr(false)) + return false; + if (has_one_byte_uint().ValueOr(false) && + !emboss_reserved_local_other.has_one_byte_uint().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_one_byte_uint().ValueOr(false) && + has_one_byte_uint().ValueOr(false) && + !one_byte_uint().UncheckedEquals( + emboss_reserved_local_other.one_byte_uint())) + return false; + + if (emboss_reserved_local_other.has_two_byte_uint().ValueOr(false) && + !has_two_byte_uint().ValueOr(false)) + return false; + if (has_two_byte_uint().ValueOr(false) && + !emboss_reserved_local_other.has_two_byte_uint().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_two_byte_uint().ValueOr(false) && + has_two_byte_uint().ValueOr(false) && + !two_byte_uint().UncheckedEquals( + emboss_reserved_local_other.two_byte_uint())) + return false; + + if (emboss_reserved_local_other.has_four_byte_uint().ValueOr(false) && + !has_four_byte_uint().ValueOr(false)) + return false; + if (has_four_byte_uint().ValueOr(false) && + !emboss_reserved_local_other.has_four_byte_uint().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_four_byte_uint().ValueOr(false) && + has_four_byte_uint().ValueOr(false) && + !four_byte_uint().UncheckedEquals( + emboss_reserved_local_other.four_byte_uint())) + return false; + + if (emboss_reserved_local_other.has_eight_byte_uint().ValueOr(false) && + !has_eight_byte_uint().ValueOr(false)) + return false; + if (has_eight_byte_uint().ValueOr(false) && + !emboss_reserved_local_other.has_eight_byte_uint().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_eight_byte_uint().ValueOr(false) && + has_eight_byte_uint().ValueOr(false) && + !eight_byte_uint().UncheckedEquals( + emboss_reserved_local_other.eight_byte_uint())) + return false; + + if (emboss_reserved_local_other.has_uint8_array().ValueOr(false) && + !has_uint8_array().ValueOr(false)) + return false; + if (has_uint8_array().ValueOr(false) && + !emboss_reserved_local_other.has_uint8_array().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_uint8_array().ValueOr(false) && + has_uint8_array().ValueOr(false) && + !uint8_array().UncheckedEquals( + emboss_reserved_local_other.uint8_array())) + return false; + + if (emboss_reserved_local_other.has_uint16_array().ValueOr(false) && + !has_uint16_array().ValueOr(false)) + return false; + if (has_uint16_array().ValueOr(false) && + !emboss_reserved_local_other.has_uint16_array().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_uint16_array().ValueOr(false) && + has_uint16_array().ValueOr(false) && + !uint16_array().UncheckedEquals( + emboss_reserved_local_other.uint16_array())) + return false; + + if (emboss_reserved_local_other.has_struct_array().ValueOr(false) && + !has_struct_array().ValueOr(false)) + return false; + if (has_struct_array().ValueOr(false) && + !emboss_reserved_local_other.has_struct_array().ValueOr(false)) + return false; + + if (emboss_reserved_local_other.has_struct_array().ValueOr(false) && + has_struct_array().ValueOr(false) && + !struct_array().UncheckedEquals( + emboss_reserved_local_other.struct_array())) + return false; + + return true; + } + template + void UncheckedCopyFrom(GenericJsonTestStructView + emboss_reserved_local_other) const { + backing_.UncheckedCopyFrom( + emboss_reserved_local_other.BackingStorage(), + emboss_reserved_local_other.IntrinsicSizeInBytes().UncheckedRead()); + } + + template + void CopyFrom(GenericJsonTestStructView + emboss_reserved_local_other) const { + backing_.CopyFrom( + emboss_reserved_local_other.BackingStorage(), + emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); + } + template + bool TryToCopyFrom(GenericJsonTestStructView + emboss_reserved_local_other) const { + return emboss_reserved_local_other.Ok() && + backing_.TryToCopyFrom( + emboss_reserved_local_other.BackingStorage(), + emboss_reserved_local_other.IntrinsicSizeInBytes().Read()); + } + + template + bool UpdateFromTextStream(Stream* emboss_reserved_local_stream) const { + ::std::string emboss_reserved_local_brace; + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_brace)) + return false; + if (emboss_reserved_local_brace != "{") return false; + for (;;) { + ::std::string emboss_reserved_local_name; + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_name)) + return false; + if (emboss_reserved_local_name == ",") + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_name)) + return false; + if (emboss_reserved_local_name == "}") return true; + ::std::string emboss_reserved_local_colon; + if (!::emboss::support::ReadToken(emboss_reserved_local_stream, + &emboss_reserved_local_colon)) + return false; + if (emboss_reserved_local_colon != ":") return false; + if (emboss_reserved_local_name == "one_byte_enum") { + if (!one_byte_enum().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "seven_bit_uint") { + if (!seven_bit_uint().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "one_bit_flag") { + if (!one_bit_flag().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "one_byte_uint") { + if (!one_byte_uint().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "two_byte_uint") { + if (!two_byte_uint().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "four_byte_uint") { + if (!four_byte_uint().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "eight_byte_uint") { + if (!eight_byte_uint().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "uint8_array") { + if (!uint8_array().UpdateFromTextStream(emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "uint16_array") { + if (!uint16_array().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + if (emboss_reserved_local_name == "struct_array") { + if (!struct_array().UpdateFromTextStream( + emboss_reserved_local_stream)) { + return false; + } + continue; + } + + return false; + } + } + + template + void WriteToTextStream( + Stream* emboss_reserved_local_stream, + ::emboss::TextOutputOptions emboss_reserved_local_options) const { + ::emboss::TextOutputOptions emboss_reserved_local_field_options = + emboss_reserved_local_options.PlusOneIndent(); + if (emboss_reserved_local_options.multiline()) { + emboss_reserved_local_stream->Write("{\n"); + } else { + emboss_reserved_local_stream->Write("{"); + } + bool emboss_reserved_local_wrote_field = false; + if (has_one_byte_enum().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + one_byte_enum().IsAggregate() || one_byte_enum().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte_enum\":"); + } else { + emboss_reserved_local_stream->Write("one_byte_enum: "); + } + one_byte_enum().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !one_byte_enum().IsAggregate() && !one_byte_enum().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# one_byte_enum: UNREADABLE\n"); + } + } + + if (has_seven_bit_uint().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + seven_bit_uint().IsAggregate() || seven_bit_uint().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"seven_bit_uint\":"); + } else { + emboss_reserved_local_stream->Write("seven_bit_uint: "); + } + seven_bit_uint().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !seven_bit_uint().IsAggregate() && !seven_bit_uint().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# seven_bit_uint: UNREADABLE\n"); + } + } + + if (has_one_bit_flag().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + one_bit_flag().IsAggregate() || one_bit_flag().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_bit_flag\":"); + } else { + emboss_reserved_local_stream->Write("one_bit_flag: "); + } + one_bit_flag().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !one_bit_flag().IsAggregate() && !one_bit_flag().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# one_bit_flag: UNREADABLE\n"); + } + } + + if (has_one_byte_uint().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + one_byte_uint().IsAggregate() || one_byte_uint().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte_uint\":"); + } else { + emboss_reserved_local_stream->Write("one_byte_uint: "); + } + one_byte_uint().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !one_byte_uint().IsAggregate() && !one_byte_uint().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# one_byte_uint: UNREADABLE\n"); + } + } + + if (has_two_byte_uint().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + two_byte_uint().IsAggregate() || two_byte_uint().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte_uint\":"); + } else { + emboss_reserved_local_stream->Write("two_byte_uint: "); + } + two_byte_uint().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !two_byte_uint().IsAggregate() && !two_byte_uint().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# two_byte_uint: UNREADABLE\n"); + } + } + + if (has_four_byte_uint().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + four_byte_uint().IsAggregate() || four_byte_uint().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte_uint\":"); + } else { + emboss_reserved_local_stream->Write("four_byte_uint: "); + } + four_byte_uint().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !four_byte_uint().IsAggregate() && !four_byte_uint().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# four_byte_uint: UNREADABLE\n"); + } + } + + if (has_eight_byte_uint().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + eight_byte_uint().IsAggregate() || eight_byte_uint().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"eight_byte_uint\":"); + } else { + emboss_reserved_local_stream->Write("eight_byte_uint: "); + } + eight_byte_uint().WriteToTextStream( + emboss_reserved_local_stream, emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !eight_byte_uint().IsAggregate() && !eight_byte_uint().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# eight_byte_uint: UNREADABLE\n"); + } + } + + if (has_uint8_array().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + uint8_array().IsAggregate() || uint8_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"uint8_array\":"); + } else { + emboss_reserved_local_stream->Write("uint8_array: "); + } + uint8_array().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !uint8_array().IsAggregate() && !uint8_array().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# uint8_array: UNREADABLE\n"); + } + } + + if (has_uint16_array().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + uint16_array().IsAggregate() || uint16_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"uint16_array\":"); + } else { + emboss_reserved_local_stream->Write("uint16_array: "); + } + uint16_array().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !uint16_array().IsAggregate() && !uint16_array().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# uint16_array: UNREADABLE\n"); + } + } + + if (has_struct_array().ValueOr(false)) { + if (!emboss_reserved_local_field_options.allow_partial_output() || + struct_array().IsAggregate() || struct_array().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } + if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"struct_array\":"); + } else { + emboss_reserved_local_stream->Write("struct_array: "); + } + struct_array().WriteToTextStream(emboss_reserved_local_stream, + emboss_reserved_local_field_options); + emboss_reserved_local_wrote_field = true; + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + } else if (emboss_reserved_local_field_options.allow_partial_output() && + emboss_reserved_local_field_options.comments() && + !struct_array().IsAggregate() && !struct_array().Ok()) { + if (emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write( + emboss_reserved_local_field_options.current_indent()); + } + emboss_reserved_local_stream->Write("# struct_array: UNREADABLE\n"); + } + } + + (void)emboss_reserved_local_wrote_field; + if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } + emboss_reserved_local_stream->Write( + emboss_reserved_local_options.current_indent()); + emboss_reserved_local_stream->Write("}"); + } else { + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); + } + } + + static constexpr bool IsAggregate() { return true; } + + public: + typename ::emboss::support::EnumView< + /**/ ::emboss::test::JsonTestEnum, + ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + one_byte_enum() const; + ::emboss::support::Maybe has_one_byte_enum() const; + + private: + typename ::emboss::test::JsonTestStruct:: + GenericEmbossReservedAnonymousField1View< + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + emboss_reserved_anonymous_field_1() const; + ::emboss::support::Maybe has_emboss_reserved_anonymous_field_1() const; + + public: + auto seven_bit_uint() const + -> decltype(this->emboss_reserved_anonymous_field_1().seven_bit_uint()) { + return has_seven_bit_uint().ValueOrDefault() + ? emboss_reserved_anonymous_field_1().seven_bit_uint() + : decltype(this->emboss_reserved_anonymous_field_1() + .seven_bit_uint())(); + } + ::emboss::support::Maybe has_seven_bit_uint() const; + + public: + auto one_bit_flag() const + -> decltype(this->emboss_reserved_anonymous_field_1().one_bit_flag()) { + return has_one_bit_flag().ValueOrDefault() + ? emboss_reserved_anonymous_field_1().one_bit_flag() + : decltype(this->emboss_reserved_anonymous_field_1() + .one_bit_flag())(); + } + ::emboss::support::Maybe has_one_bit_flag() const; + + public: + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + one_byte_uint() const; + ::emboss::support::Maybe has_one_byte_uint() const; + + public: + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 16, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 16>> + + two_byte_uint() const; + ::emboss::support::Maybe has_two_byte_uint() const; + + public: + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 32, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 32>> + + four_byte_uint() const; + ::emboss::support::Maybe has_four_byte_uint() const; + + public: + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 64, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 64>> + + eight_byte_uint() const; + ::emboss::support::Maybe has_eight_byte_uint() const; + + public: + typename ::emboss::support::GenericArrayView< + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType< + /**/ 0, 17>::template OffsetStorageType>, + 8>> + + , + typename Storage::template OffsetStorageType, 1, 8> + + uint8_array() const; + ::emboss::support::Maybe has_uint8_array() const; + + public: + typename ::emboss::support::GenericArrayView< + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 16, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType< + /**/ 0, 27>::template OffsetStorageType>, + 16>> + + , + typename Storage::template OffsetStorageType, 2, 8> + + uint16_array() const; + ::emboss::support::Maybe has_uint16_array() const; + + public: + typename ::emboss::support::GenericArrayView< + typename ::emboss::test::GenericJsonTestArrayStructView< + typename Storage::template OffsetStorageType< + /**/ 0, 47>::template OffsetStorageType> + + , + typename Storage::template OffsetStorageType, 4, 8> + + struct_array() const; + ::emboss::support::Maybe has_struct_array() const; + + public: + class EmbossReservedDollarVirtualIntrinsicSizeInBytesView final { + public: + using ValueType = ::std::int32_t; + + constexpr EmbossReservedDollarVirtualIntrinsicSizeInBytesView() {} + EmbossReservedDollarVirtualIntrinsicSizeInBytesView( + const EmbossReservedDollarVirtualIntrinsicSizeInBytesView&) = default; + EmbossReservedDollarVirtualIntrinsicSizeInBytesView( + EmbossReservedDollarVirtualIntrinsicSizeInBytesView&&) = default; + EmbossReservedDollarVirtualIntrinsicSizeInBytesView& operator=( + const EmbossReservedDollarVirtualIntrinsicSizeInBytesView&) = default; + EmbossReservedDollarVirtualIntrinsicSizeInBytesView& operator=( + EmbossReservedDollarVirtualIntrinsicSizeInBytesView&&) = default; + ~EmbossReservedDollarVirtualIntrinsicSizeInBytesView() = default; + + static constexpr ::std::int32_t Read(); + static constexpr ::std::int32_t UncheckedRead(); + static constexpr bool Ok() { return true; } + template + void WriteToTextStream(Stream* emboss_reserved_local_stream, + const ::emboss::TextOutputOptions& + emboss_reserved_local_options) const { + ::emboss::support::WriteIntegerViewToTextStream( + this, emboss_reserved_local_stream, emboss_reserved_local_options); + } + + static constexpr bool IsAggregate() { return false; } + }; + + static constexpr EmbossReservedDollarVirtualIntrinsicSizeInBytesView + IntrinsicSizeInBytes() { + return EmbossReservedDollarVirtualIntrinsicSizeInBytesView(); + } + static constexpr ::emboss::support::Maybe has_IntrinsicSizeInBytes() { + return ::emboss::support::Maybe(true); + } + + public: + class EmbossReservedDollarVirtualMaxSizeInBytesView final { + public: + using ValueType = ::std::int32_t; + + constexpr EmbossReservedDollarVirtualMaxSizeInBytesView() {} + EmbossReservedDollarVirtualMaxSizeInBytesView( + const EmbossReservedDollarVirtualMaxSizeInBytesView&) = default; + EmbossReservedDollarVirtualMaxSizeInBytesView( + EmbossReservedDollarVirtualMaxSizeInBytesView&&) = default; + EmbossReservedDollarVirtualMaxSizeInBytesView& operator=( + const EmbossReservedDollarVirtualMaxSizeInBytesView&) = default; + EmbossReservedDollarVirtualMaxSizeInBytesView& operator=( + EmbossReservedDollarVirtualMaxSizeInBytesView&&) = default; + ~EmbossReservedDollarVirtualMaxSizeInBytesView() = default; + + static constexpr ::std::int32_t Read(); + static constexpr ::std::int32_t UncheckedRead(); + static constexpr bool Ok() { return true; } + template + void WriteToTextStream(Stream* emboss_reserved_local_stream, + const ::emboss::TextOutputOptions& + emboss_reserved_local_options) const { + ::emboss::support::WriteIntegerViewToTextStream( + this, emboss_reserved_local_stream, emboss_reserved_local_options); + } + + static constexpr bool IsAggregate() { return false; } + }; + + static constexpr EmbossReservedDollarVirtualMaxSizeInBytesView + MaxSizeInBytes() { + return EmbossReservedDollarVirtualMaxSizeInBytesView(); + } + static constexpr ::emboss::support::Maybe has_MaxSizeInBytes() { + return ::emboss::support::Maybe(true); + } + + public: + class EmbossReservedDollarVirtualMinSizeInBytesView final { + public: + using ValueType = ::std::int32_t; + + constexpr EmbossReservedDollarVirtualMinSizeInBytesView() {} + EmbossReservedDollarVirtualMinSizeInBytesView( + const EmbossReservedDollarVirtualMinSizeInBytesView&) = default; + EmbossReservedDollarVirtualMinSizeInBytesView( + EmbossReservedDollarVirtualMinSizeInBytesView&&) = default; + EmbossReservedDollarVirtualMinSizeInBytesView& operator=( + const EmbossReservedDollarVirtualMinSizeInBytesView&) = default; + EmbossReservedDollarVirtualMinSizeInBytesView& operator=( + EmbossReservedDollarVirtualMinSizeInBytesView&&) = default; + ~EmbossReservedDollarVirtualMinSizeInBytesView() = default; + + static constexpr ::std::int32_t Read(); + static constexpr ::std::int32_t UncheckedRead(); + static constexpr bool Ok() { return true; } + template + void WriteToTextStream(Stream* emboss_reserved_local_stream, + const ::emboss::TextOutputOptions& + emboss_reserved_local_options) const { + ::emboss::support::WriteIntegerViewToTextStream( + this, emboss_reserved_local_stream, emboss_reserved_local_options); + } + + static constexpr bool IsAggregate() { return false; } + }; + + static constexpr EmbossReservedDollarVirtualMinSizeInBytesView + MinSizeInBytes() { + return EmbossReservedDollarVirtualMinSizeInBytesView(); + } + static constexpr ::emboss::support::Maybe has_MinSizeInBytes() { + return ::emboss::support::Maybe(true); + } + + private: + Storage backing_; + + template + friend class GenericJsonTestStructView; +}; +using JsonTestStructView = + GenericJsonTestStructView; +using JsonTestStructWriter = GenericJsonTestStructView< + /**/ ::emboss::support::ReadWriteContiguousBuffer>; + +template +struct EmbossReservedInternalIsGenericJsonTestStructView { + static constexpr const bool value = false; +}; + +template +struct EmbossReservedInternalIsGenericJsonTestStructView< + GenericJsonTestStructView> { + static constexpr const bool value = true; +}; + +template +inline GenericJsonTestStructView< + /**/ ::emboss::support::ContiguousBuffer< + typename ::std::remove_reference< + decltype(*::std::declval()->data())>::type, + 1, 0>> +MakeJsonTestStructView(T&& emboss_reserved_local_arg) { + return GenericJsonTestStructView< + /**/ ::emboss::support::ContiguousBuffer< + typename ::std::remove_reference< + decltype(*::std::declval()->data())>::type, + 1, 0>>(::std::forward(emboss_reserved_local_arg)); +} + +template +inline GenericJsonTestStructView< + /**/ ::emboss::support::ContiguousBuffer> +MakeJsonTestStructView(T* emboss_reserved_local_data, + ::std::size_t emboss_reserved_local_size) { + return GenericJsonTestStructView< + /**/ ::emboss::support::ContiguousBuffer>( + emboss_reserved_local_data, emboss_reserved_local_size); +} + +template +inline GenericJsonTestStructView< + /**/ ::emboss::support::ContiguousBuffer> +MakeAlignedJsonTestStructView(T* emboss_reserved_local_data, + ::std::size_t emboss_reserved_local_size) { + return GenericJsonTestStructView< + /**/ ::emboss::support::ContiguousBuffer>( + emboss_reserved_local_data, emboss_reserved_local_size); +} + +namespace Vanilla {} // namespace Vanilla + +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + +GenericVanillaView::a() const { + if (has_a().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(0LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (backing_.template GetOffsetStorage<0, 0>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (); +} + +template +inline ::emboss::support::Maybe GenericVanillaView::has_a() + const { + return ::emboss::support::Maybe(true); +} + +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + +GenericVanillaView::b() const { + if (has_b().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(1LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (backing_.template GetOffsetStorage<0, 1>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (); +} + +template +inline ::emboss::support::Maybe GenericVanillaView::has_b() + const { + return ::emboss::support::Maybe(true); +} + +namespace Vanilla { +inline constexpr ::std::int32_t IntrinsicSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(2LL)) + .ValueOrDefault(); +} +} // namespace Vanilla + +template +inline constexpr ::std::int32_t GenericVanillaView< + Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { + return Vanilla::IntrinsicSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericVanillaView:: + EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { + return Vanilla::IntrinsicSizeInBytes(); +} + +namespace Vanilla { +inline constexpr ::std::int32_t MaxSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(2LL)) + .ValueOrDefault(); +} +} // namespace Vanilla + +template +inline constexpr ::std::int32_t GenericVanillaView< + Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { + return Vanilla::MaxSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericVanillaView< + Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { + return Vanilla::MaxSizeInBytes(); +} + +namespace Vanilla { +inline constexpr ::std::int32_t MinSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(2LL)) + .ValueOrDefault(); +} +} // namespace Vanilla + +template +inline constexpr ::std::int32_t GenericVanillaView< + Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { + return Vanilla::MinSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericVanillaView< + Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { + return Vanilla::MinSizeInBytes(); +} +namespace StructWithSkippedFields {} // namespace StructWithSkippedFields + +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + +GenericStructWithSkippedFieldsView::a() const { + if (has_a().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(0LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (backing_.template GetOffsetStorage<0, 0>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (); +} + +template +inline ::emboss::support::Maybe +GenericStructWithSkippedFieldsView::has_a() const { + return ::emboss::support::Maybe(true); +} + +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + +GenericStructWithSkippedFieldsView::b() const { + if (has_b().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(1LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (backing_.template GetOffsetStorage<0, 1>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (); +} + +template +inline ::emboss::support::Maybe +GenericStructWithSkippedFieldsView::has_b() const { + return ::emboss::support::Maybe(true); +} + +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + +GenericStructWithSkippedFieldsView::c() const { + if (has_c().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(2LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (backing_.template GetOffsetStorage<0, 2>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (); +} + +template +inline ::emboss::support::Maybe +GenericStructWithSkippedFieldsView::has_c() const { + return ::emboss::support::Maybe(true); +} + +namespace StructWithSkippedFields { +inline constexpr ::std::int32_t IntrinsicSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(3LL)) + .ValueOrDefault(); +} +} // namespace StructWithSkippedFields + +template +inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView< + Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { + return StructWithSkippedFields::IntrinsicSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView:: + EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { + return StructWithSkippedFields::IntrinsicSizeInBytes(); +} + +namespace StructWithSkippedFields { +inline constexpr ::std::int32_t MaxSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(3LL)) + .ValueOrDefault(); +} +} // namespace StructWithSkippedFields + +template +inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView< + Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { + return StructWithSkippedFields::MaxSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView< + Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { + return StructWithSkippedFields::MaxSizeInBytes(); +} + +namespace StructWithSkippedFields { +inline constexpr ::std::int32_t MinSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(3LL)) + .ValueOrDefault(); +} +} // namespace StructWithSkippedFields + +template +inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView< + Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { + return StructWithSkippedFields::MinSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView< + Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { + return StructWithSkippedFields::MinSizeInBytes(); +} +namespace StructWithSkippedStructureFields { + +} // namespace StructWithSkippedStructureFields + +template +inline typename ::emboss::test::GenericVanillaView< + typename Storage::template OffsetStorageType> + +GenericStructWithSkippedStructureFieldsView::a() const { + if (has_a().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(2LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(0LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::test::GenericVanillaView< + typename Storage::template OffsetStorageType> + + (backing_.template GetOffsetStorage<0, 0>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::test::GenericVanillaView< + typename Storage::template OffsetStorageType> + + (); +} + +template +inline ::emboss::support::Maybe +GenericStructWithSkippedStructureFieldsView::has_a() const { + return ::emboss::support::Maybe(true); +} + +template +inline typename ::emboss::test::GenericVanillaView< + typename Storage::template OffsetStorageType> + +GenericStructWithSkippedStructureFieldsView::b() const { + if (has_b().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(2LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(2LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::test::GenericVanillaView< + typename Storage::template OffsetStorageType> + + (backing_.template GetOffsetStorage<0, 2>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::test::GenericVanillaView< + typename Storage::template OffsetStorageType> + + (); +} + +template +inline ::emboss::support::Maybe +GenericStructWithSkippedStructureFieldsView::has_b() const { + return ::emboss::support::Maybe(true); +} + +template +inline typename ::emboss::test::GenericVanillaView< + typename Storage::template OffsetStorageType> + +GenericStructWithSkippedStructureFieldsView::c() const { + if (has_c().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(2LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(4LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::test::GenericVanillaView< + typename Storage::template OffsetStorageType> + + (backing_.template GetOffsetStorage<0, 4>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::test::GenericVanillaView< + typename Storage::template OffsetStorageType> + + (); +} + +template +inline ::emboss::support::Maybe +GenericStructWithSkippedStructureFieldsView::has_c() const { + return ::emboss::support::Maybe(true); +} + +namespace StructWithSkippedStructureFields { +inline constexpr ::std::int32_t IntrinsicSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(6LL)) + .ValueOrDefault(); +} +} // namespace StructWithSkippedStructureFields + +template +inline constexpr ::std::int32_t GenericStructWithSkippedStructureFieldsView< + Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { + return StructWithSkippedStructureFields::IntrinsicSizeInBytes(); +} + +template +inline constexpr ::std::int32_t +GenericStructWithSkippedStructureFieldsView:: + EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { + return StructWithSkippedStructureFields::IntrinsicSizeInBytes(); +} + +namespace StructWithSkippedStructureFields { +inline constexpr ::std::int32_t MaxSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(6LL)) + .ValueOrDefault(); +} +} // namespace StructWithSkippedStructureFields + +template +inline constexpr ::std::int32_t GenericStructWithSkippedStructureFieldsView< + Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { + return StructWithSkippedStructureFields::MaxSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericStructWithSkippedStructureFieldsView< + Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { + return StructWithSkippedStructureFields::MaxSizeInBytes(); +} + +namespace StructWithSkippedStructureFields { +inline constexpr ::std::int32_t MinSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(6LL)) + .ValueOrDefault(); +} +} // namespace StructWithSkippedStructureFields + +template +inline constexpr ::std::int32_t GenericStructWithSkippedStructureFieldsView< + Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { + return StructWithSkippedStructureFields::MinSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericStructWithSkippedStructureFieldsView< + Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { + return StructWithSkippedStructureFields::MinSizeInBytes(); +} +namespace JsonTestArrayStruct {} // namespace JsonTestArrayStruct + +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + +GenericJsonTestArrayStructView::element_one() const { + if (has_element_one().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(0LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (backing_.template GetOffsetStorage<0, 0>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (); +} + +template +inline ::emboss::support::Maybe +GenericJsonTestArrayStructView::has_element_one() const { + return ::emboss::support::Maybe(true); +} + +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + +GenericJsonTestArrayStructView::element_two() const { + if (has_element_two().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(1LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (backing_.template GetOffsetStorage<0, 1>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (); +} + +template +inline ::emboss::support::Maybe +GenericJsonTestArrayStructView::has_element_two() const { + return ::emboss::support::Maybe(true); +} + +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + +GenericJsonTestArrayStructView::element_three() const { + if (has_element_three().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(2LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (backing_.template GetOffsetStorage<0, 2>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (); +} + +template +inline ::emboss::support::Maybe +GenericJsonTestArrayStructView::has_element_three() const { + return ::emboss::support::Maybe(true); +} + +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + +GenericJsonTestArrayStructView::element_four() const { + if (has_element_four().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(3LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (backing_.template GetOffsetStorage<0, 3>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (); +} + +template +inline ::emboss::support::Maybe +GenericJsonTestArrayStructView::has_element_four() const { + return ::emboss::support::Maybe(true); +} + +namespace JsonTestArrayStruct { +inline constexpr ::std::int32_t IntrinsicSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(4LL)) + .ValueOrDefault(); +} +} // namespace JsonTestArrayStruct + +template +inline constexpr ::std::int32_t GenericJsonTestArrayStructView< + Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { + return JsonTestArrayStruct::IntrinsicSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericJsonTestArrayStructView:: + EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { + return JsonTestArrayStruct::IntrinsicSizeInBytes(); +} + +namespace JsonTestArrayStruct { +inline constexpr ::std::int32_t MaxSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(4LL)) + .ValueOrDefault(); +} +} // namespace JsonTestArrayStruct + +template +inline constexpr ::std::int32_t GenericJsonTestArrayStructView< + Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { + return JsonTestArrayStruct::MaxSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericJsonTestArrayStructView< + Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { + return JsonTestArrayStruct::MaxSizeInBytes(); +} + +namespace JsonTestArrayStruct { +inline constexpr ::std::int32_t MinSizeInBytes() { + return ::emboss::support::Maybe( + static_cast(4LL)) + .ValueOrDefault(); +} +} // namespace JsonTestArrayStruct + +template +inline constexpr ::std::int32_t GenericJsonTestArrayStructView< + Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { + return JsonTestArrayStruct::MinSizeInBytes(); +} + +template +inline constexpr ::std::int32_t GenericJsonTestArrayStructView< + Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { + return JsonTestArrayStruct::MinSizeInBytes(); +} +namespace JsonTestStruct { +namespace EmbossReservedAnonymousField1 { + +} // namespace EmbossReservedAnonymousField1 + +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 7, ::emboss::support::AllValuesAreOk>, + typename Storage::template OffsetStorageType> + +GenericEmbossReservedAnonymousField1View::seven_bit_uint() const { + if (has_seven_bit_uint().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(7LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(0LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 7, ::emboss::support::AllValuesAreOk>, + typename Storage::template OffsetStorageType> + + (backing_.template GetOffsetStorage<0, 0>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 7, ::emboss::support::AllValuesAreOk>, + typename Storage::template OffsetStorageType> + + (); +} + +template +inline ::emboss::support::Maybe +GenericEmbossReservedAnonymousField1View::has_seven_bit_uint() const { + return ::emboss::support::Maybe(true); +} + +template +inline typename ::emboss::prelude::FlagView< + /**/ ::emboss::support::FixedSizeViewParameters< + 1, ::emboss::support::AllValuesAreOk>, + typename Storage::template OffsetStorageType> + +GenericEmbossReservedAnonymousField1View::one_bit_flag() const { + if (has_one_bit_flag().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(7LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::FlagView< + /**/ ::emboss::support::FixedSizeViewParameters< + 1, ::emboss::support::AllValuesAreOk>, + typename Storage::template OffsetStorageType> + + (backing_.template GetOffsetStorage<0, 7>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::FlagView< + /**/ ::emboss::support::FixedSizeViewParameters< + 1, ::emboss::support::AllValuesAreOk>, + typename Storage::template OffsetStorageType> + + (); +} + +template +inline ::emboss::support::Maybe +GenericEmbossReservedAnonymousField1View::has_one_bit_flag() const { + return ::emboss::support::Maybe(true); +} + +namespace EmbossReservedAnonymousField1 { +inline constexpr ::std::int32_t IntrinsicSizeInBits() { + return ::emboss::support::Maybe( + static_cast(8LL)) + .ValueOrDefault(); +} +} // namespace EmbossReservedAnonymousField1 + +template +inline constexpr ::std::int32_t GenericEmbossReservedAnonymousField1View< + Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBitsView::Read() { + return EmbossReservedAnonymousField1::IntrinsicSizeInBits(); +} + +template +inline constexpr ::std::int32_t +GenericEmbossReservedAnonymousField1View:: + EmbossReservedDollarVirtualIntrinsicSizeInBitsView::UncheckedRead() { + return EmbossReservedAnonymousField1::IntrinsicSizeInBits(); +} + +namespace EmbossReservedAnonymousField1 { +inline constexpr ::std::int32_t MaxSizeInBits() { + return ::emboss::support::Maybe( + static_cast(8LL)) + .ValueOrDefault(); +} +} // namespace EmbossReservedAnonymousField1 + +template +inline constexpr ::std::int32_t GenericEmbossReservedAnonymousField1View< + Storage>::EmbossReservedDollarVirtualMaxSizeInBitsView::Read() { + return EmbossReservedAnonymousField1::MaxSizeInBits(); +} + +template +inline constexpr ::std::int32_t GenericEmbossReservedAnonymousField1View< + Storage>::EmbossReservedDollarVirtualMaxSizeInBitsView::UncheckedRead() { + return EmbossReservedAnonymousField1::MaxSizeInBits(); +} + +namespace EmbossReservedAnonymousField1 { +inline constexpr ::std::int32_t MinSizeInBits() { + return ::emboss::support::Maybe( + static_cast(8LL)) + .ValueOrDefault(); +} +} // namespace EmbossReservedAnonymousField1 + +template +inline constexpr ::std::int32_t GenericEmbossReservedAnonymousField1View< + Storage>::EmbossReservedDollarVirtualMinSizeInBitsView::Read() { + return EmbossReservedAnonymousField1::MinSizeInBits(); +} + +template +inline constexpr ::std::int32_t GenericEmbossReservedAnonymousField1View< + Storage>::EmbossReservedDollarVirtualMinSizeInBitsView::UncheckedRead() { + return EmbossReservedAnonymousField1::MinSizeInBits(); +} + +} // namespace JsonTestStruct + +template +inline typename ::emboss::support::EnumView< + /**/ ::emboss::test::JsonTestEnum, + ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + +GenericJsonTestStructView::one_byte_enum() const { + if (has_one_byte_enum().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(1LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(0LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::support::EnumView< + /**/ ::emboss::test::JsonTestEnum, + ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + (backing_.template GetOffsetStorage<0, 0>( + emboss_reserved_local_offset.ValueOrDefault(), emboss_reserved_local_size.ValueOrDefault())); } } - return ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< + return ::emboss::support::EnumView< + /**/ ::emboss::test::JsonTestEnum, + ::emboss::support::FixedSizeViewParameters< 8, ::emboss::support::AllValuesAreOk>, typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< + /**/ ::emboss::support::LittleEndianByteOrderer< typename Storage::template OffsetStorageType>, 8>> @@ -1783,21 +5329,21 @@ GenericStructWithSkippedFieldsView::a() const { template inline ::emboss::support::Maybe -GenericStructWithSkippedFieldsView::has_a() const { +GenericJsonTestStructView::has_one_byte_enum() const { return ::emboss::support::Maybe(true); } template -inline typename ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> - -GenericStructWithSkippedFieldsView::b() const { - if (has_b().ValueOr(false)) { +inline typename ::emboss::test::JsonTestStruct:: + GenericEmbossReservedAnonymousField1View< + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> + + GenericJsonTestStructView::emboss_reserved_anonymous_field_1() + const { + if (has_emboss_reserved_anonymous_field_1().ValueOr(false)) { auto emboss_reserved_local_size = ::emboss::support::Maybe( static_cast(1LL)); @@ -1808,47 +5354,61 @@ GenericStructWithSkippedFieldsView::b() const { emboss_reserved_local_size.ValueOr(0) >= 0 && emboss_reserved_local_offset.Known() && emboss_reserved_local_offset.ValueOr(0) >= 0) { - return ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> + return ::emboss::test::JsonTestStruct:: + GenericEmbossReservedAnonymousField1View< + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> (backing_.template GetOffsetStorage<0, 1>( emboss_reserved_local_offset.ValueOrDefault(), emboss_reserved_local_size.ValueOrDefault())); } } - return ::emboss::prelude::UIntView< - /**/ ::emboss::support::FixedSizeViewParameters< - 8, ::emboss::support::AllValuesAreOk>, - typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< - typename Storage::template OffsetStorageType>, - 8>> + return ::emboss::test::JsonTestStruct:: + GenericEmbossReservedAnonymousField1View< + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 8>> (); } template -inline ::emboss::support::Maybe -GenericStructWithSkippedFieldsView::has_b() const { +inline ::emboss::support::Maybe GenericJsonTestStructView< + Storage>::has_emboss_reserved_anonymous_field_1() const { return ::emboss::support::Maybe(true); } +template +inline ::emboss::support::Maybe +GenericJsonTestStructView::has_seven_bit_uint() const { + return ::emboss::support::And( + ::emboss::support::Maybe(true), + ::emboss::support::Maybe(true)); +} + +template +inline ::emboss::support::Maybe +GenericJsonTestStructView::has_one_bit_flag() const { + return ::emboss::support::And( + ::emboss::support::Maybe(true), + ::emboss::support::Maybe(true)); +} + template inline typename ::emboss::prelude::UIntView< /**/ ::emboss::support::FixedSizeViewParameters< 8, ::emboss::support::AllValuesAreOk>, typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< + /**/ ::emboss::support::LittleEndianByteOrderer< typename Storage::template OffsetStorageType>, 8>> -GenericStructWithSkippedFieldsView::c() const { - if (has_c().ValueOr(false)) { +GenericJsonTestStructView::one_byte_uint() const { + if (has_one_byte_uint().ValueOr(false)) { auto emboss_reserved_local_size = ::emboss::support::Maybe( static_cast(1LL)); @@ -1863,7 +5423,7 @@ GenericStructWithSkippedFieldsView::c() const { /**/ ::emboss::support::FixedSizeViewParameters< 8, ::emboss::support::AllValuesAreOk>, typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< + /**/ ::emboss::support::LittleEndianByteOrderer< typename Storage::template OffsetStorageType>, 8>> @@ -1876,7 +5436,7 @@ GenericStructWithSkippedFieldsView::c() const { /**/ ::emboss::support::FixedSizeViewParameters< 8, ::emboss::support::AllValuesAreOk>, typename ::emboss::support::BitBlock< - /**/ ::emboss::support::NullByteOrderer< + /**/ ::emboss::support::LittleEndianByteOrderer< typename Storage::template OffsetStorageType>, 8>> @@ -1885,240 +5445,404 @@ GenericStructWithSkippedFieldsView::c() const { template inline ::emboss::support::Maybe -GenericStructWithSkippedFieldsView::has_c() const { +GenericJsonTestStructView::has_one_byte_uint() const { return ::emboss::support::Maybe(true); } -namespace StructWithSkippedFields { -inline constexpr ::std::int32_t IntrinsicSizeInBytes() { - return ::emboss::support::Maybe( - static_cast(3LL)) - .ValueOrDefault(); +template +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 16, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 16>> + +GenericJsonTestStructView::two_byte_uint() const { + if (has_two_byte_uint().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(2LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(3LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 16, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 16>> + + (backing_.template GetOffsetStorage<0, 3>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 16, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 16>> + + (); } -} // namespace StructWithSkippedFields template -inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView< - Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { - return StructWithSkippedFields::IntrinsicSizeInBytes(); +inline ::emboss::support::Maybe +GenericJsonTestStructView::has_two_byte_uint() const { + return ::emboss::support::Maybe(true); } template -inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView:: - EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { - return StructWithSkippedFields::IntrinsicSizeInBytes(); -} +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 32, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 32>> -namespace StructWithSkippedFields { -inline constexpr ::std::int32_t MaxSizeInBytes() { - return ::emboss::support::Maybe( - static_cast(3LL)) - .ValueOrDefault(); +GenericJsonTestStructView::four_byte_uint() const { + if (has_four_byte_uint().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(4LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(5LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 32, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 32>> + + (backing_.template GetOffsetStorage<0, 5>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 32, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 32>> + + (); } -} // namespace StructWithSkippedFields template -inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView< - Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { - return StructWithSkippedFields::MaxSizeInBytes(); +inline ::emboss::support::Maybe +GenericJsonTestStructView::has_four_byte_uint() const { + return ::emboss::support::Maybe(true); } template -inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView< - Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { - return StructWithSkippedFields::MaxSizeInBytes(); -} +inline typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 64, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 64>> -namespace StructWithSkippedFields { -inline constexpr ::std::int32_t MinSizeInBytes() { - return ::emboss::support::Maybe( - static_cast(3LL)) - .ValueOrDefault(); -} -} // namespace StructWithSkippedFields +GenericJsonTestStructView::eight_byte_uint() const { + if (has_eight_byte_uint().ValueOr(false)) { + auto emboss_reserved_local_size = + ::emboss::support::Maybe( + static_cast(8LL)); + auto emboss_reserved_local_offset = + ::emboss::support::Maybe( + static_cast(9LL)); + if (emboss_reserved_local_size.Known() && + emboss_reserved_local_size.ValueOr(0) >= 0 && + emboss_reserved_local_offset.Known() && + emboss_reserved_local_offset.ValueOr(0) >= 0) { + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 64, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 64>> -template -inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView< - Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { - return StructWithSkippedFields::MinSizeInBytes(); + (backing_.template GetOffsetStorage<0, 9>( + emboss_reserved_local_offset.ValueOrDefault(), + emboss_reserved_local_size.ValueOrDefault())); + } + } + return ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 64, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType>, + 64>> + + (); } template -inline constexpr ::std::int32_t GenericStructWithSkippedFieldsView< - Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { - return StructWithSkippedFields::MinSizeInBytes(); +inline ::emboss::support::Maybe +GenericJsonTestStructView::has_eight_byte_uint() const { + return ::emboss::support::Maybe(true); } -namespace StructWithSkippedStructureFields { - -} // namespace StructWithSkippedStructureFields template -inline typename ::emboss::test::GenericVanillaView< - typename Storage::template OffsetStorageType> - -GenericStructWithSkippedStructureFieldsView::a() const { - if (has_a().ValueOr(false)) { +inline typename ::emboss::support::GenericArrayView< + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType< + /**/ 0, 17>::template OffsetStorageType>, + 8>> + + , + typename Storage::template OffsetStorageType, 1, 8> + +GenericJsonTestStructView::uint8_array() const { + if (has_uint8_array().ValueOr(false)) { auto emboss_reserved_local_size = ::emboss::support::Maybe( - static_cast(2LL)); + static_cast(10LL)); auto emboss_reserved_local_offset = ::emboss::support::Maybe( - static_cast(0LL)); + static_cast(17LL)); if (emboss_reserved_local_size.Known() && emboss_reserved_local_size.ValueOr(0) >= 0 && emboss_reserved_local_offset.Known() && emboss_reserved_local_offset.ValueOr(0) >= 0) { - return ::emboss::test::GenericVanillaView< - typename Storage::template OffsetStorageType> - - (backing_.template GetOffsetStorage<0, 0>( + return ::emboss::support::GenericArrayView< + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType< + /**/ 0, 17>::template OffsetStorageType>, + 8>> + + , + typename Storage::template OffsetStorageType, 1, 8> + + (backing_.template GetOffsetStorage<0, 17>( emboss_reserved_local_offset.ValueOrDefault(), emboss_reserved_local_size.ValueOrDefault())); } } - return ::emboss::test::GenericVanillaView< - typename Storage::template OffsetStorageType> + return ::emboss::support::GenericArrayView< + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 8, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType< + /**/ 0, 17>::template OffsetStorageType>, + 8>> + + , + typename Storage::template OffsetStorageType, 1, 8> (); } template inline ::emboss::support::Maybe -GenericStructWithSkippedStructureFieldsView::has_a() const { +GenericJsonTestStructView::has_uint8_array() const { return ::emboss::support::Maybe(true); } template -inline typename ::emboss::test::GenericVanillaView< - typename Storage::template OffsetStorageType> - -GenericStructWithSkippedStructureFieldsView::b() const { - if (has_b().ValueOr(false)) { +inline typename ::emboss::support::GenericArrayView< + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 16, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType< + /**/ 0, 27>::template OffsetStorageType>, + 16>> + + , + typename Storage::template OffsetStorageType, 2, 8> + +GenericJsonTestStructView::uint16_array() const { + if (has_uint16_array().ValueOr(false)) { auto emboss_reserved_local_size = ::emboss::support::Maybe( - static_cast(2LL)); + static_cast(20LL)); auto emboss_reserved_local_offset = ::emboss::support::Maybe( - static_cast(2LL)); + static_cast(27LL)); if (emboss_reserved_local_size.Known() && emboss_reserved_local_size.ValueOr(0) >= 0 && emboss_reserved_local_offset.Known() && emboss_reserved_local_offset.ValueOr(0) >= 0) { - return ::emboss::test::GenericVanillaView< - typename Storage::template OffsetStorageType> - - (backing_.template GetOffsetStorage<0, 2>( + return ::emboss::support::GenericArrayView< + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 16, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType< + /**/ 0, 27>::template OffsetStorageType>, + 16>> + + , + typename Storage::template OffsetStorageType, 2, 8> + + (backing_.template GetOffsetStorage<0, 27>( emboss_reserved_local_offset.ValueOrDefault(), emboss_reserved_local_size.ValueOrDefault())); } } - return ::emboss::test::GenericVanillaView< - typename Storage::template OffsetStorageType> + return ::emboss::support::GenericArrayView< + typename ::emboss::prelude::UIntView< + /**/ ::emboss::support::FixedSizeViewParameters< + 16, ::emboss::support::AllValuesAreOk>, + typename ::emboss::support::BitBlock< + /**/ ::emboss::support::LittleEndianByteOrderer< + typename Storage::template OffsetStorageType< + /**/ 0, 27>::template OffsetStorageType>, + 16>> + + , + typename Storage::template OffsetStorageType, 2, 8> (); } template inline ::emboss::support::Maybe -GenericStructWithSkippedStructureFieldsView::has_b() const { +GenericJsonTestStructView::has_uint16_array() const { return ::emboss::support::Maybe(true); } template -inline typename ::emboss::test::GenericVanillaView< - typename Storage::template OffsetStorageType> +inline typename ::emboss::support::GenericArrayView< + typename ::emboss::test::GenericJsonTestArrayStructView< + typename Storage::template OffsetStorageType< + /**/ 0, 47>::template OffsetStorageType> -GenericStructWithSkippedStructureFieldsView::c() const { - if (has_c().ValueOr(false)) { + , + typename Storage::template OffsetStorageType, 4, 8> + +GenericJsonTestStructView::struct_array() const { + if (has_struct_array().ValueOr(false)) { auto emboss_reserved_local_size = ::emboss::support::Maybe( - static_cast(2LL)); + static_cast(8LL)); auto emboss_reserved_local_offset = ::emboss::support::Maybe( - static_cast(4LL)); + static_cast(47LL)); if (emboss_reserved_local_size.Known() && emboss_reserved_local_size.ValueOr(0) >= 0 && emboss_reserved_local_offset.Known() && emboss_reserved_local_offset.ValueOr(0) >= 0) { - return ::emboss::test::GenericVanillaView< - typename Storage::template OffsetStorageType> + return ::emboss::support::GenericArrayView< + typename ::emboss::test::GenericJsonTestArrayStructView< + typename Storage::template OffsetStorageType< + /**/ 0, 47>::template OffsetStorageType> - (backing_.template GetOffsetStorage<0, 4>( + , + typename Storage::template OffsetStorageType, 4, 8> + + (backing_.template GetOffsetStorage<0, 47>( emboss_reserved_local_offset.ValueOrDefault(), emboss_reserved_local_size.ValueOrDefault())); } } - return ::emboss::test::GenericVanillaView< - typename Storage::template OffsetStorageType> + return ::emboss::support::GenericArrayView< + typename ::emboss::test::GenericJsonTestArrayStructView< + typename Storage::template OffsetStorageType< + /**/ 0, 47>::template OffsetStorageType> + + , + typename Storage::template OffsetStorageType, 4, 8> (); } template inline ::emboss::support::Maybe -GenericStructWithSkippedStructureFieldsView::has_c() const { +GenericJsonTestStructView::has_struct_array() const { return ::emboss::support::Maybe(true); } -namespace StructWithSkippedStructureFields { +namespace JsonTestStruct { inline constexpr ::std::int32_t IntrinsicSizeInBytes() { return ::emboss::support::Maybe( - static_cast(6LL)) + static_cast(55LL)) .ValueOrDefault(); } -} // namespace StructWithSkippedStructureFields +} // namespace JsonTestStruct template -inline constexpr ::std::int32_t GenericStructWithSkippedStructureFieldsView< +inline constexpr ::std::int32_t GenericJsonTestStructView< Storage>::EmbossReservedDollarVirtualIntrinsicSizeInBytesView::Read() { - return StructWithSkippedStructureFields::IntrinsicSizeInBytes(); + return JsonTestStruct::IntrinsicSizeInBytes(); } template -inline constexpr ::std::int32_t -GenericStructWithSkippedStructureFieldsView:: +inline constexpr ::std::int32_t GenericJsonTestStructView:: EmbossReservedDollarVirtualIntrinsicSizeInBytesView::UncheckedRead() { - return StructWithSkippedStructureFields::IntrinsicSizeInBytes(); + return JsonTestStruct::IntrinsicSizeInBytes(); } -namespace StructWithSkippedStructureFields { +namespace JsonTestStruct { inline constexpr ::std::int32_t MaxSizeInBytes() { return ::emboss::support::Maybe( - static_cast(6LL)) + static_cast(55LL)) .ValueOrDefault(); } -} // namespace StructWithSkippedStructureFields +} // namespace JsonTestStruct template -inline constexpr ::std::int32_t GenericStructWithSkippedStructureFieldsView< +inline constexpr ::std::int32_t GenericJsonTestStructView< Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::Read() { - return StructWithSkippedStructureFields::MaxSizeInBytes(); + return JsonTestStruct::MaxSizeInBytes(); } template -inline constexpr ::std::int32_t GenericStructWithSkippedStructureFieldsView< +inline constexpr ::std::int32_t GenericJsonTestStructView< Storage>::EmbossReservedDollarVirtualMaxSizeInBytesView::UncheckedRead() { - return StructWithSkippedStructureFields::MaxSizeInBytes(); + return JsonTestStruct::MaxSizeInBytes(); } -namespace StructWithSkippedStructureFields { +namespace JsonTestStruct { inline constexpr ::std::int32_t MinSizeInBytes() { return ::emboss::support::Maybe( - static_cast(6LL)) + static_cast(55LL)) .ValueOrDefault(); } -} // namespace StructWithSkippedStructureFields +} // namespace JsonTestStruct template -inline constexpr ::std::int32_t GenericStructWithSkippedStructureFieldsView< +inline constexpr ::std::int32_t GenericJsonTestStructView< Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::Read() { - return StructWithSkippedStructureFields::MinSizeInBytes(); + return JsonTestStruct::MinSizeInBytes(); } template -inline constexpr ::std::int32_t GenericStructWithSkippedStructureFieldsView< +inline constexpr ::std::int32_t GenericJsonTestStructView< Storage>::EmbossReservedDollarVirtualMinSizeInBytesView::UncheckedRead() { - return StructWithSkippedStructureFields::MinSizeInBytes(); + return JsonTestStruct::MinSizeInBytes(); } } // namespace test diff --git a/testdata/golden_cpp/uint_sizes.emb.h b/testdata/golden_cpp/uint_sizes.emb.h index 5ca7e89e..107a2fd0 100644 --- a/testdata/golden_cpp/uint_sizes.emb.h +++ b/testdata/golden_cpp/uint_sizes.emb.h @@ -500,20 +500,32 @@ class GenericSizesView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -530,20 +542,32 @@ class GenericSizesView final { if (has_two_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_byte().IsAggregate() || two_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte\":"); + } else { + emboss_reserved_local_stream->Write("two_byte: "); + } two_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -560,20 +584,32 @@ class GenericSizesView final { if (has_three_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || three_byte().IsAggregate() || three_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_byte\":"); + } else { + emboss_reserved_local_stream->Write("three_byte: "); + } three_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -590,20 +626,32 @@ class GenericSizesView final { if (has_four_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_byte().IsAggregate() || four_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte\":"); + } else { + emboss_reserved_local_stream->Write("four_byte: "); + } four_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -620,20 +668,32 @@ class GenericSizesView final { if (has_five_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || five_byte().IsAggregate() || five_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("five_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"five_byte\":"); + } else { + emboss_reserved_local_stream->Write("five_byte: "); + } five_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -650,20 +710,32 @@ class GenericSizesView final { if (has_six_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || six_byte().IsAggregate() || six_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("six_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"six_byte\":"); + } else { + emboss_reserved_local_stream->Write("six_byte: "); + } six_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -680,20 +752,32 @@ class GenericSizesView final { if (has_seven_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || seven_byte().IsAggregate() || seven_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("seven_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"seven_byte\":"); + } else { + emboss_reserved_local_stream->Write("seven_byte: "); + } seven_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -710,20 +794,32 @@ class GenericSizesView final { if (has_eight_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || eight_byte().IsAggregate() || eight_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("eight_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"eight_byte\":"); + } else { + emboss_reserved_local_stream->Write("eight_byte: "); + } eight_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -739,11 +835,18 @@ class GenericSizesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1453,20 +1556,32 @@ class GenericBigEndianSizesView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1483,20 +1598,32 @@ class GenericBigEndianSizesView final { if (has_two_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_byte().IsAggregate() || two_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte\":"); + } else { + emboss_reserved_local_stream->Write("two_byte: "); + } two_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1513,20 +1640,32 @@ class GenericBigEndianSizesView final { if (has_three_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || three_byte().IsAggregate() || three_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_byte\":"); + } else { + emboss_reserved_local_stream->Write("three_byte: "); + } three_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1543,20 +1682,32 @@ class GenericBigEndianSizesView final { if (has_four_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_byte().IsAggregate() || four_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte\":"); + } else { + emboss_reserved_local_stream->Write("four_byte: "); + } four_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1573,20 +1724,32 @@ class GenericBigEndianSizesView final { if (has_five_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || five_byte().IsAggregate() || five_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("five_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"five_byte\":"); + } else { + emboss_reserved_local_stream->Write("five_byte: "); + } five_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1603,20 +1766,32 @@ class GenericBigEndianSizesView final { if (has_six_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || six_byte().IsAggregate() || six_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("six_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"six_byte\":"); + } else { + emboss_reserved_local_stream->Write("six_byte: "); + } six_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1633,20 +1808,32 @@ class GenericBigEndianSizesView final { if (has_seven_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || seven_byte().IsAggregate() || seven_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("seven_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"seven_byte\":"); + } else { + emboss_reserved_local_stream->Write("seven_byte: "); + } seven_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1663,20 +1850,32 @@ class GenericBigEndianSizesView final { if (has_eight_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || eight_byte().IsAggregate() || eight_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("eight_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"eight_byte\":"); + } else { + emboss_reserved_local_stream->Write("eight_byte: "); + } eight_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1692,11 +1891,18 @@ class GenericBigEndianSizesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2411,20 +2617,32 @@ class GenericAlternatingEndianSizesView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2441,20 +2659,32 @@ class GenericAlternatingEndianSizesView final { if (has_two_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_byte().IsAggregate() || two_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte\":"); + } else { + emboss_reserved_local_stream->Write("two_byte: "); + } two_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2471,20 +2701,32 @@ class GenericAlternatingEndianSizesView final { if (has_three_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || three_byte().IsAggregate() || three_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_byte\":"); + } else { + emboss_reserved_local_stream->Write("three_byte: "); + } three_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2501,20 +2743,32 @@ class GenericAlternatingEndianSizesView final { if (has_four_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_byte().IsAggregate() || four_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte\":"); + } else { + emboss_reserved_local_stream->Write("four_byte: "); + } four_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2531,20 +2785,32 @@ class GenericAlternatingEndianSizesView final { if (has_five_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || five_byte().IsAggregate() || five_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("five_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"five_byte\":"); + } else { + emboss_reserved_local_stream->Write("five_byte: "); + } five_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2561,20 +2827,32 @@ class GenericAlternatingEndianSizesView final { if (has_six_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || six_byte().IsAggregate() || six_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("six_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"six_byte\":"); + } else { + emboss_reserved_local_stream->Write("six_byte: "); + } six_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2591,20 +2869,32 @@ class GenericAlternatingEndianSizesView final { if (has_seven_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || seven_byte().IsAggregate() || seven_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("seven_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"seven_byte\":"); + } else { + emboss_reserved_local_stream->Write("seven_byte: "); + } seven_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2621,20 +2911,32 @@ class GenericAlternatingEndianSizesView final { if (has_eight_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || eight_byte().IsAggregate() || eight_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("eight_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"eight_byte\":"); + } else { + emboss_reserved_local_stream->Write("eight_byte: "); + } eight_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2650,11 +2952,18 @@ class GenericAlternatingEndianSizesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -3366,20 +3675,32 @@ class GenericEnumSizesView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3396,20 +3717,32 @@ class GenericEnumSizesView final { if (has_two_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_byte().IsAggregate() || two_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte\":"); + } else { + emboss_reserved_local_stream->Write("two_byte: "); + } two_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3426,20 +3759,32 @@ class GenericEnumSizesView final { if (has_three_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || three_byte().IsAggregate() || three_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_byte\":"); + } else { + emboss_reserved_local_stream->Write("three_byte: "); + } three_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3456,20 +3801,32 @@ class GenericEnumSizesView final { if (has_four_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_byte().IsAggregate() || four_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte\":"); + } else { + emboss_reserved_local_stream->Write("four_byte: "); + } four_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3486,20 +3843,32 @@ class GenericEnumSizesView final { if (has_five_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || five_byte().IsAggregate() || five_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("five_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"five_byte\":"); + } else { + emboss_reserved_local_stream->Write("five_byte: "); + } five_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3516,20 +3885,32 @@ class GenericEnumSizesView final { if (has_six_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || six_byte().IsAggregate() || six_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("six_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"six_byte\":"); + } else { + emboss_reserved_local_stream->Write("six_byte: "); + } six_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3546,20 +3927,32 @@ class GenericEnumSizesView final { if (has_seven_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || seven_byte().IsAggregate() || seven_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("seven_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"seven_byte\":"); + } else { + emboss_reserved_local_stream->Write("seven_byte: "); + } seven_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3576,20 +3969,32 @@ class GenericEnumSizesView final { if (has_eight_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || eight_byte().IsAggregate() || eight_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("eight_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"eight_byte\":"); + } else { + emboss_reserved_local_stream->Write("eight_byte: "); + } eight_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3605,11 +4010,18 @@ class GenericEnumSizesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -4088,20 +4500,32 @@ class GenericEmbossReservedAnonymousField1View final { if (!emboss_reserved_local_field_options.allow_partial_output() || three_and_a_half_byte().IsAggregate() || three_and_a_half_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_and_a_half_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_and_a_half_byte\":"); + } else { + emboss_reserved_local_stream->Write("three_and_a_half_byte: "); + } three_and_a_half_byte().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4119,11 +4543,18 @@ class GenericEmbossReservedAnonymousField1View final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -4624,20 +5055,32 @@ class GenericExplicitlySizedEnumSizesView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4654,20 +5097,32 @@ class GenericExplicitlySizedEnumSizesView final { if (has_two_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_byte().IsAggregate() || two_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte\":"); + } else { + emboss_reserved_local_stream->Write("two_byte: "); + } two_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4684,20 +5139,32 @@ class GenericExplicitlySizedEnumSizesView final { if (has_three_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || three_byte().IsAggregate() || three_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_byte\":"); + } else { + emboss_reserved_local_stream->Write("three_byte: "); + } three_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4715,20 +5182,32 @@ class GenericExplicitlySizedEnumSizesView final { if (!emboss_reserved_local_field_options.allow_partial_output() || three_and_a_half_byte().IsAggregate() || three_and_a_half_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_and_a_half_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_and_a_half_byte\":"); + } else { + emboss_reserved_local_stream->Write("three_and_a_half_byte: "); + } three_and_a_half_byte().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4746,11 +5225,18 @@ class GenericExplicitlySizedEnumSizesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5756,20 +6242,32 @@ class GenericArraySizesView final { if (has_one_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || one_byte().IsAggregate() || one_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("one_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"one_byte\":"); + } else { + emboss_reserved_local_stream->Write("one_byte: "); + } one_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5786,20 +6284,32 @@ class GenericArraySizesView final { if (has_two_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || two_byte().IsAggregate() || two_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("two_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"two_byte\":"); + } else { + emboss_reserved_local_stream->Write("two_byte: "); + } two_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5816,20 +6326,32 @@ class GenericArraySizesView final { if (has_three_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || three_byte().IsAggregate() || three_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("three_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"three_byte\":"); + } else { + emboss_reserved_local_stream->Write("three_byte: "); + } three_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5846,20 +6368,32 @@ class GenericArraySizesView final { if (has_four_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || four_byte().IsAggregate() || four_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("four_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"four_byte\":"); + } else { + emboss_reserved_local_stream->Write("four_byte: "); + } four_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5876,20 +6410,32 @@ class GenericArraySizesView final { if (has_five_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || five_byte().IsAggregate() || five_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("five_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"five_byte\":"); + } else { + emboss_reserved_local_stream->Write("five_byte: "); + } five_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5906,20 +6452,32 @@ class GenericArraySizesView final { if (has_six_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || six_byte().IsAggregate() || six_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("six_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"six_byte\":"); + } else { + emboss_reserved_local_stream->Write("six_byte: "); + } six_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5936,20 +6494,32 @@ class GenericArraySizesView final { if (has_seven_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || seven_byte().IsAggregate() || seven_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("seven_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"seven_byte\":"); + } else { + emboss_reserved_local_stream->Write("seven_byte: "); + } seven_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5966,20 +6536,32 @@ class GenericArraySizesView final { if (has_eight_byte().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || eight_byte().IsAggregate() || eight_byte().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("eight_byte: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"eight_byte\":"); + } else { + emboss_reserved_local_stream->Write("eight_byte: "); + } eight_byte().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5995,11 +6577,18 @@ class GenericArraySizesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/golden_cpp/virtual_field.emb.h b/testdata/golden_cpp/virtual_field.emb.h index 26bfde71..9395d799 100644 --- a/testdata/golden_cpp/virtual_field.emb.h +++ b/testdata/golden_cpp/virtual_field.emb.h @@ -467,20 +467,32 @@ class GenericStructureWithConstantsView final { if (has_value().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value().IsAggregate() || value().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value\":"); + } else { + emboss_reserved_local_stream->Write("value: "); + } value().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -497,20 +509,32 @@ class GenericStructureWithConstantsView final { if (has_alias_of_value().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || alias_of_value().IsAggregate() || alias_of_value().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("alias_of_value: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"alias_of_value\":"); + } else { + emboss_reserved_local_stream->Write("alias_of_value: "); + } alias_of_value().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -528,20 +552,32 @@ class GenericStructureWithConstantsView final { if (!emboss_reserved_local_field_options.allow_partial_output() || alias_of_alias_of_value().IsAggregate() || alias_of_alias_of_value().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("alias_of_alias_of_value: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"alias_of_alias_of_value\":"); + } else { + emboss_reserved_local_stream->Write("alias_of_alias_of_value: "); + } alias_of_alias_of_value().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -599,11 +635,18 @@ class GenericStructureWithConstantsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -1321,20 +1364,32 @@ class GenericStructureWithComputedValuesView final { if (has_value().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value().IsAggregate() || value().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value\":"); + } else { + emboss_reserved_local_stream->Write("value: "); + } value().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1370,20 +1425,32 @@ class GenericStructureWithComputedValuesView final { if (has_plus_ten().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || plus_ten().IsAggregate() || plus_ten().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("plus_ten: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"plus_ten\":"); + } else { + emboss_reserved_local_stream->Write("plus_ten: "); + } plus_ten().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1400,20 +1467,32 @@ class GenericStructureWithComputedValuesView final { if (has_value2().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || value2().IsAggregate() || value2().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("value2: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"value2\":"); + } else { + emboss_reserved_local_stream->Write("value2: "); + } value2().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1449,20 +1528,32 @@ class GenericStructureWithComputedValuesView final { if (has_signed_plus_ten().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || signed_plus_ten().IsAggregate() || signed_plus_ten().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("signed_plus_ten: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"signed_plus_ten\":"); + } else { + emboss_reserved_local_stream->Write("signed_plus_ten: "); + } signed_plus_ten().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -1497,11 +1588,18 @@ class GenericStructureWithComputedValuesView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -2381,20 +2479,32 @@ class GenericStructureWithConditionalValueView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2430,20 +2540,32 @@ class GenericStructureWithConditionalValueView final { if (has_x_plus_one().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x_plus_one().IsAggregate() || x_plus_one().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x_plus_one: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x_plus_one\":"); + } else { + emboss_reserved_local_stream->Write("x_plus_one: "); + } x_plus_one().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -2459,11 +2581,18 @@ class GenericStructureWithConditionalValueView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -3084,20 +3213,32 @@ class GenericStructureWithValueInConditionView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3133,20 +3274,32 @@ class GenericStructureWithValueInConditionView final { if (has_if_two_x_lt_100().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || if_two_x_lt_100().IsAggregate() || if_two_x_lt_100().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("if_two_x_lt_100: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"if_two_x_lt_100\":"); + } else { + emboss_reserved_local_stream->Write("if_two_x_lt_100: "); + } if_two_x_lt_100().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3162,11 +3315,18 @@ class GenericStructureWithValueInConditionView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -3765,20 +3925,32 @@ class GenericStructureWithValuesInLocationView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3814,20 +3986,32 @@ class GenericStructureWithValuesInLocationView final { if (has_offset_two_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || offset_two_x().IsAggregate() || offset_two_x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("offset_two_x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"offset_two_x\":"); + } else { + emboss_reserved_local_stream->Write("offset_two_x: "); + } offset_two_x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3844,20 +4028,32 @@ class GenericStructureWithValuesInLocationView final { if (has_size_two_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || size_two_x().IsAggregate() || size_two_x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("size_two_x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"size_two_x\":"); + } else { + emboss_reserved_local_stream->Write("size_two_x: "); + } size_two_x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -3873,11 +4069,18 @@ class GenericStructureWithValuesInLocationView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -4419,20 +4622,32 @@ class GenericStructureWithBoolValueView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -4467,11 +4682,18 @@ class GenericStructureWithBoolValueView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5013,20 +5235,32 @@ class GenericStructureWithEnumValueView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5061,11 +5295,18 @@ class GenericStructureWithEnumValueView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -5544,20 +5785,32 @@ class GenericStructureWithBitsWithValueView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5593,20 +5846,32 @@ class GenericStructureWithBitsWithValueView final { if (has_alias_of_b_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || alias_of_b_a().IsAggregate() || alias_of_b_a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("alias_of_b_a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"alias_of_b_a\":"); + } else { + emboss_reserved_local_stream->Write("alias_of_b_a: "); + } alias_of_b_a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -5622,11 +5887,18 @@ class GenericStructureWithBitsWithValueView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -6107,20 +6379,32 @@ class GenericBitsWithValueView final { if (has_a().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a().IsAggregate() || a().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a\":"); + } else { + emboss_reserved_local_stream->Write("a: "); + } a().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6137,20 +6421,32 @@ class GenericBitsWithValueView final { if (has_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || b().IsAggregate() || b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"b\":"); + } else { + emboss_reserved_local_stream->Write("b: "); + } b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6185,11 +6481,18 @@ class GenericBitsWithValueView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -6651,20 +6954,32 @@ class GenericStructureUsingForeignConstantsView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -6699,11 +7014,18 @@ class GenericStructureUsingForeignConstantsView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -7150,20 +7472,32 @@ class GenericHeaderView final { if (has_size().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || size().IsAggregate() || size().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); + } else if (!emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"size\":"); } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } - emboss_reserved_local_stream->Write(" "); + emboss_reserved_local_stream->Write("size: "); } - emboss_reserved_local_stream->Write("size: "); size().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7180,20 +7514,32 @@ class GenericHeaderView final { if (has_message_id().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || message_id().IsAggregate() || message_id().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("message_id: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"message_id\":"); + } else { + emboss_reserved_local_stream->Write("message_id: "); + } message_id().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7209,11 +7555,18 @@ class GenericHeaderView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -7612,20 +7965,32 @@ class GenericSubfieldOfAliasView final { if (has_header().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || header().IsAggregate() || header().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("header: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"header\":"); + } else { + emboss_reserved_local_stream->Write("header: "); + } header().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7642,20 +8007,32 @@ class GenericSubfieldOfAliasView final { if (has_h().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || h().IsAggregate() || h().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("h: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"h\":"); + } else { + emboss_reserved_local_stream->Write("h: "); + } h().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7672,20 +8049,32 @@ class GenericSubfieldOfAliasView final { if (has_size().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || size().IsAggregate() || size().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("size: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"size\":"); + } else { + emboss_reserved_local_stream->Write("size: "); + } size().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -7701,11 +8090,18 @@ class GenericSubfieldOfAliasView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -8133,20 +8529,32 @@ class GenericRestrictedAliasView final { if (has_a_b().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a_b().IsAggregate() || a_b().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a_b: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a_b\":"); + } else { + emboss_reserved_local_stream->Write("a_b: "); + } a_b().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8163,20 +8571,32 @@ class GenericRestrictedAliasView final { if (has_alias_switch().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || alias_switch().IsAggregate() || alias_switch().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("alias_switch: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"alias_switch\":"); + } else { + emboss_reserved_local_stream->Write("alias_switch: "); + } alias_switch().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8193,20 +8613,32 @@ class GenericRestrictedAliasView final { if (has_a_b_alias().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || a_b_alias().IsAggregate() || a_b_alias().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("a_b_alias: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"a_b_alias\":"); + } else { + emboss_reserved_local_stream->Write("a_b_alias: "); + } a_b_alias().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8222,11 +8654,18 @@ class GenericRestrictedAliasView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -8647,20 +9086,32 @@ class GenericXView final { if (has_v().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || v().IsAggregate() || v().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("v: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"v\":"); + } else { + emboss_reserved_local_stream->Write("v: "); + } v().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8677,20 +9128,32 @@ class GenericXView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -8706,11 +9169,18 @@ class GenericXView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -9190,20 +9660,32 @@ class GenericHasFieldView final { if (has_z().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || z().IsAggregate() || z().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("z: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"z\":"); + } else { + emboss_reserved_local_stream->Write("z: "); + } z().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -9220,20 +9702,32 @@ class GenericHasFieldView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -9250,20 +9744,32 @@ class GenericHasFieldView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -9298,11 +9804,18 @@ class GenericHasFieldView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -9863,20 +10376,32 @@ class GenericVirtualUnconditionallyUsesConditionalView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -9893,20 +10418,32 @@ class GenericVirtualUnconditionallyUsesConditionalView final { if (has_xc().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || xc().IsAggregate() || xc().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("xc: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"xc\":"); + } else { + emboss_reserved_local_stream->Write("xc: "); + } xc().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -9941,11 +10478,18 @@ class GenericVirtualUnconditionallyUsesConditionalView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -10473,20 +11017,32 @@ class GenericRView final { if (has_q().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || q().IsAggregate() || q().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("q: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"q\":"); + } else { + emboss_reserved_local_stream->Write("q: "); + } q().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -10521,11 +11077,18 @@ class GenericRView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -10964,20 +11527,32 @@ class GenericUsesSizeView final { if (has_r().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || r().IsAggregate() || r().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("r: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"r\":"); + } else { + emboss_reserved_local_stream->Write("r: "); + } r().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -11013,11 +11588,18 @@ class GenericUsesSizeView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -11494,20 +12076,32 @@ class GenericUsesExternalSizeView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -11524,20 +12118,32 @@ class GenericUsesExternalSizeView final { if (has_y().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || y().IsAggregate() || y().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("y: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"y\":"); + } else { + emboss_reserved_local_stream->Write("y: "); + } y().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -11553,11 +12159,18 @@ class GenericUsesExternalSizeView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } @@ -11982,20 +12595,32 @@ class GenericImplicitWriteBackView final { if (has_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x().IsAggregate() || x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x\":"); + } else { + emboss_reserved_local_stream->Write("x: "); + } x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -12012,20 +12637,32 @@ class GenericImplicitWriteBackView final { if (has_x_plus_ten().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x_plus_ten().IsAggregate() || x_plus_ten().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x_plus_ten: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x_plus_ten\":"); + } else { + emboss_reserved_local_stream->Write("x_plus_ten: "); + } x_plus_ten().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -12042,20 +12679,32 @@ class GenericImplicitWriteBackView final { if (has_ten_plus_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || ten_plus_x().IsAggregate() || ten_plus_x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("ten_plus_x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"ten_plus_x\":"); + } else { + emboss_reserved_local_stream->Write("ten_plus_x: "); + } ten_plus_x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -12072,20 +12721,32 @@ class GenericImplicitWriteBackView final { if (has_x_minus_ten().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || x_minus_ten().IsAggregate() || x_minus_ten().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("x_minus_ten: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"x_minus_ten\":"); + } else { + emboss_reserved_local_stream->Write("x_minus_ten: "); + } x_minus_ten().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -12102,20 +12763,32 @@ class GenericImplicitWriteBackView final { if (has_ten_minus_x().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || ten_minus_x().IsAggregate() || ten_minus_x().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("ten_minus_x: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"ten_minus_x\":"); + } else { + emboss_reserved_local_stream->Write("ten_minus_x: "); + } ten_minus_x().WriteToTextStream(emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -12132,20 +12805,32 @@ class GenericImplicitWriteBackView final { if (has_ten_minus_x_plus_ten().ValueOr(false)) { if (!emboss_reserved_local_field_options.allow_partial_output() || ten_minus_x_plus_ten().IsAggregate() || ten_minus_x_plus_ten().Ok()) { + if (emboss_reserved_local_wrote_field) { + if (emboss_reserved_local_field_options.json() || + !emboss_reserved_local_field_options.multiline()) { + emboss_reserved_local_stream->Write(","); + } + } if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_field_options.current_indent()); - } else { - if (emboss_reserved_local_wrote_field) { - emboss_reserved_local_stream->Write(","); - } + } else if (!emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write(" "); } - emboss_reserved_local_stream->Write("ten_minus_x_plus_ten: "); + if (emboss_reserved_local_field_options.json()) { + emboss_reserved_local_stream->Write("\"ten_minus_x_plus_ten\":"); + } else { + emboss_reserved_local_stream->Write("ten_minus_x_plus_ten: "); + } ten_minus_x_plus_ten().WriteToTextStream( emboss_reserved_local_stream, emboss_reserved_local_field_options); emboss_reserved_local_wrote_field = true; - if (emboss_reserved_local_field_options.multiline()) { + if (emboss_reserved_local_field_options.multiline() && + !emboss_reserved_local_field_options.json()) { emboss_reserved_local_stream->Write("\n"); } } else if (emboss_reserved_local_field_options.allow_partial_output() && @@ -12163,11 +12848,18 @@ class GenericImplicitWriteBackView final { (void)emboss_reserved_local_wrote_field; if (emboss_reserved_local_options.multiline()) { + if (emboss_reserved_local_wrote_field && + emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write("\n"); + } emboss_reserved_local_stream->Write( emboss_reserved_local_options.current_indent()); emboss_reserved_local_stream->Write("}"); } else { - emboss_reserved_local_stream->Write(" }"); + if (!emboss_reserved_local_options.json()) { + emboss_reserved_local_stream->Write(" "); + } + emboss_reserved_local_stream->Write("}"); } } diff --git a/testdata/text_format.emb b/testdata/text_format.emb index 74581704..15035e8b 100644 --- a/testdata/text_format.emb +++ b/testdata/text_format.emb @@ -14,6 +14,7 @@ -- Structures used specifically to test text format input and output. +[$default byte_order: "LittleEndian"] [(cpp) namespace: "emboss::test"] @@ -34,3 +35,31 @@ struct StructWithSkippedStructureFields: 2 [+2] Vanilla b [text_output: "Skip"] 4 [+2] Vanilla c + +enum JsonTestEnum: + ZERO = 0 + ONE = 1 + TWO = 2 + THREE = 3 + FOUR = 4 + +struct JsonTestArrayStruct: + 0 [+1] UInt element_one + 1 [+1] UInt element_two + 2 [+1] UInt element_three + 3 [+1] UInt element_four + + +struct JsonTestStruct: + 0 [+1] JsonTestEnum one_byte_enum + 1 [+1] bits: + 0 [+7] UInt seven_bit_uint + 7 [+1] Flag one_bit_flag + + 2 [+1] UInt one_byte_uint + 3 [+2] UInt two_byte_uint + 5 [+4] UInt four_byte_uint + 9 [+8] UInt eight_byte_uint + 17 [+10] UInt:8[] uint8_array + 27 [+20] UInt:16[] uint16_array + 47 [+8] JsonTestArrayStruct[] struct_array