John Snow <js...@redhat.com> writes: > Finally, the core entry method for a qapi entity. > > Signed-off-by: John Snow <js...@redhat.com> > --- > docs/sphinx/qapidoc.py | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py > index 7308fa0a767..fb2ad7492ae 100644 > --- a/docs/sphinx/qapidoc.py > +++ b/docs/sphinx/qapidoc.py > @@ -78,6 +78,8 @@ > > > class Transmogrifier: > + # pylint: disable=too-many-public-methods > +
Tsk, tsk, tsk ... ;-P > # Field names used for different entity types: > field_types = { > "enum": "value", > @@ -368,6 +370,25 @@ def visit_freeform(self, doc: QAPIDoc) -> None: > self.add_lines(text, info) > self.ensure_blank_line() > > + def visit_entity(self, ent: QAPISchemaDefinition) -> None: > + assert ent.info > + > + try: > + self._curr_ent = ent > + > + # Squish structs and unions together into an "object" directive. > + meta = ent.meta > + if meta in ("struct", "union"): > + meta = "object" > + > + # This line gets credited to the start of the /definition/. > + self.add_line(f".. qapi:{meta}:: {ent.name}", ent.info) > + with self.indented(): > + self.preamble(ent) > + self.visit_sections(ent) > + finally: > + self._curr_ent = None > + > > class QAPISchemaGenDepVisitor(QAPISchemaVisitor): > """A QAPI schema visitor which adds Sphinx dependencies each module