qemu/scripts/qapi
Markus Armbruster 1d067e3953 qapi: New QAPISchemaBranches, QAPISchemaAlternatives
QAPISchemaVariants represents either a union type's branches, or an
alternate type's alternatives.  Much of its code is conditional on
which one it actually is.

Create QAPISchemaBranches for branches, and QAPISchemaAlternatives for
alternatives, both subtypes of QAPISchemaVariants.

Replace QAPISchemaVariants by one of them where possible.  Keep it
only where we actually deal with either of them.

QAPISchemaVariants.__init__() takes @tag_name and @tag_member, where
exactly one must be None: @tag_name for alternatives, @tag_member for
branches.  Let QAPISchemaBranches.__init__() take just @tag_name, and
QAPISchemaAlternatives.__init__() take just @tag_member.

A later patch will move the conditional code to the subtypes.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
2024-05-06 12:38:27 +02:00
..
.flake8 qapi: Update flake8 config 2023-02-23 12:49:39 +01:00
.isort.cfg qapi: enforce import order/styling with isort 2020-10-10 11:37:47 +02:00
__init__.py qapi-gen: New common driver for code and doc generators 2018-03-02 13:14:09 -06:00
commands.py qapi: Require boxed for conditional command and event arguments 2023-04-24 15:21:39 +02:00
common.py qapi: Avoid generating C identifier 'linux' 2022-07-13 12:19:18 +03:00
error.py qapi/error: Add type hints 2021-04-30 12:59:54 +02:00
events.py qapi: Start to elide redundant has_FOO in generated C 2022-12-13 18:31:37 +01:00
expr.py qapi: Fix to reject 'data': 'mumble' in struct 2023-04-24 15:21:39 +02:00
gen.py qapi: re-establish linting baseline 2023-10-19 07:02:29 +02:00
introspect.py qapi: New QAPISchemaBranches, QAPISchemaAlternatives 2024-05-06 12:38:27 +02:00
main.py qapi: Fix error message format regression 2023-04-24 15:09:10 +02:00
mypy.ini qapi/schema: turn on mypy strictness 2024-04-24 10:03:54 +02:00
parser.py qapi/parser.py: assert member.info is present in connect_member 2024-04-24 10:03:54 +02:00
pylintrc qapi/schema: add pylint suppressions 2024-04-24 10:03:54 +02:00
schema.py qapi: New QAPISchemaBranches, QAPISchemaAlternatives 2024-05-06 12:38:27 +02:00
source.py qapi: Require member documentation (with loophole) 2024-02-12 10:04:31 +01:00
types.py qapi: New QAPISchemaBranches, QAPISchemaAlternatives 2024-05-06 12:38:27 +02:00
visit.py qapi: New QAPISchemaBranches, QAPISchemaAlternatives 2024-05-06 12:38:27 +02:00