qemu-patch-raspberry4/scripts/qapi
Markus Armbruster 3e7fb5811b qapi: Fix code generation for empty modules
When a sub-module doesn't contain any definitions, we don't generate
code for it, but we do generate the #include.

We generate code only for modules that get visited.
QAPISchema.visit() visits only modules that have definitions.  It can
visit modules multiple times.

Clean this up as follows.  Collect entities in their QAPISchemaModule.
Have QAPISchema.visit() call QAPISchemaModule.visit() for each module.
Have QAPISchemaModule.visit() call .visit_module() for itself, and
QAPISchemaEntity.visit() for each of its entities.  This way, we visit
each module exactly once.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20191120182551.23795-6-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
2020-01-14 11:01:58 +01:00
..
__init__.py qapi-gen: New common driver for code and doc generators 2018-03-02 13:14:09 -06:00
commands.py qapi: Generate command registration stuff into separate files 2020-01-14 11:01:58 +01:00
common.py qapi: Split up scripts/qapi/common.py 2019-10-22 13:53:55 +02:00
doc.py qapi: Fix doc comment checking for commands and events 2019-10-29 07:35:16 +01:00
error.py qapi: Split up scripts/qapi/common.py 2019-10-22 13:53:55 +02:00
events.py qapi: Split up scripts/qapi/common.py 2019-10-22 13:53:55 +02:00
expr.py qapi: Fold normalize_enum() into check_enum() 2019-10-29 07:35:16 +01:00
gen.py qapi: Split up scripts/qapi/common.py 2019-10-22 13:53:55 +02:00
introspect.py qapi: Add feature flags to commands 2019-10-22 13:54:13 +02:00
parser.py qapi: Check feature documentation against the schema 2019-10-29 07:35:16 +01:00
schema.py qapi: Fix code generation for empty modules 2020-01-14 11:01:58 +01:00
source.py qapi: Split up scripts/qapi/common.py 2019-10-22 13:53:55 +02:00
types.py qapi: Split up scripts/qapi/common.py 2019-10-22 13:53:55 +02:00
visit.py qapi: Split up scripts/qapi/common.py 2019-10-22 13:53:55 +02:00