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



Reply via email to