# HG changeset patch # User František Kučera # Date 1623185600 -7200 # Node ID cc601886f0a7b462c6884e3d0c97b8c969966926 # Parent 3662c567dab93d37401b83b8c82585b9629efe6a rename Mode enum values to match relpipe-in-cbortable diff -r 3662c567dab9 -r cc601886f0a7 src/XMLDocumentConstructor.h --- a/src/XMLDocumentConstructor.h Sun May 09 00:17:54 2021 +0200 +++ b/src/XMLDocumentConstructor.h Tue Jun 08 22:53:20 2021 +0200 @@ -38,8 +38,8 @@ enum class Mode { ROOT, SEQUENCE, - MAPPING, - MAP_KEY + MAP_KEY, + MAP_VALUE }; std::string rootName = "yaml"; @@ -111,10 +111,10 @@ } else if (event.type == YAML_SCALAR_EVENT) { if (mode.back() == Mode::SEQUENCE) { current->add_child(itemName)->add_child_text(y2x(event.data.scalar.value)); - } else if (mode.back() == Mode::MAPPING) { + } else if (mode.back() == Mode::MAP_KEY) { current = current->add_child(y2xname(event.data.scalar.value)); - mode.push_back(Mode::MAP_KEY); - } else if (mode.back() == Mode::MAP_KEY) { + mode.push_back(Mode::MAP_VALUE); + } else if (mode.back() == Mode::MAP_VALUE) { current->add_child_text(y2x(event.data.scalar.value)); current = parentOrSelf(current); mode.pop_back(); @@ -133,7 +133,7 @@ } else { itemName = "item"; } - if (mode.back() == Mode::MAP_KEY) mode.pop_back(); + if (mode.back() == Mode::MAP_VALUE) mode.pop_back(); mode.push_back(Mode::SEQUENCE); } else if (event.type == YAML_SEQUENCE_END_EVENT) { mode.pop_back(); // TODO: assert sequence? @@ -142,13 +142,13 @@ if (mode.back() == Mode::ROOT) { } else if (mode.back() == Mode::SEQUENCE) { current = current->add_child(itemName); - } else if (mode.back() == Mode::MAP_KEY) { + } else if (mode.back() == Mode::MAP_VALUE) { mode.pop_back(); } else { // TODO: map might be a key of another map → wrap/nest } - mode.push_back(Mode::MAPPING); + mode.push_back(Mode::MAP_KEY); } else if (event.type == YAML_MAPPING_END_EVENT) { current = parentOrSelf(current); mode.pop_back(); // TODO: assert map?