howdy, this series begins enforcing a strict section ordering in the QAPI parser. This allows us to change how we store sections internally in QAPIDoc so that we always have well-defined points in any documentation block where we may insert auto-generated documentation sections when applicable.
This series is effectively RFC quality; I am aware that we will need more unit tests for the new negative cases at a minimum. This is the last series messing around with the QAPIDoc format before I move on to directly working on the inliner again. John Snow (14): qapi: rename "plain" sections to "details" docs/qapi-code-gen: expand each section's syntax into a mini-section qapi: re-order QAPI doc block sections qapi/parser: enforce doc block section ordering qapi: move 'details' sections to the bottom of doc blocks qapi/parser: enforce 'details' sections' relative position qapi: re-order 'since' sections to always be last qapi/parser: enforce strict positioning for "Since:" section qapi/parser: remove _insert_after_intro() helper qapi/parser: add _append() method qapi/parser: privatize "all_sections" field as "_sections" qapi/parser: add _active_section private member qapi/parser: add new _sections mapping qapi/parser: convert single-section properties to getter properties docs/devel/qapi-code-gen.rst | 117 ++++++-- docs/interop/firmware.json | 54 ++-- docs/interop/vhost-user.json | 29 +- docs/sphinx/qapidoc.py | 15 +- qapi/accelerator.json | 16 +- qapi/acpi.json | 36 +-- qapi/block-core.json | 476 ++++++++++++++++---------------- qapi/block-export.json | 38 +-- qapi/block.json | 114 ++++---- qapi/char.json | 36 +-- qapi/compat.json | 14 +- qapi/control.json | 12 +- qapi/crypto.json | 4 +- qapi/dump.json | 16 +- qapi/introspect.json | 14 +- qapi/job.json | 26 +- qapi/machine-s390x.json | 28 +- qapi/machine.json | 324 +++++++++++----------- qapi/migration.json | 144 +++++----- qapi/misc-arm.json | 4 +- qapi/misc-i386.json | 58 ++-- qapi/misc.json | 84 +++--- qapi/net.json | 64 ++--- qapi/pci.json | 4 +- qapi/qdev.json | 24 +- qapi/qom.json | 56 ++-- qapi/replay.json | 16 +- qapi/rocker.json | 16 +- qapi/run-state.json | 64 ++--- qapi/stats.json | 6 +- qapi/tpm.json | 12 +- qapi/trace.json | 8 +- qapi/transaction.json | 34 +-- qapi/ui.json | 90 +++--- qapi/vfio.json | 4 +- qapi/virtio.json | 46 +-- qga/qapi-schema.json | 80 +++--- scripts/qapi/parser.py | 232 ++++++++-------- tests/qapi-schema/doc-good.json | 16 +- tests/qapi-schema/doc-good.out | 34 +-- tests/qapi-schema/doc-good.txt | 22 +- tests/qapi-schema/test-qapi.py | 2 +- 42 files changed, 1274 insertions(+), 1215 deletions(-) -- 2.55.0
