qemu/scripts/qapi
Markus Armbruster b32abbb2f5 qapi: Fix crash on redefinition with a different condition
QAPISchema._make_implicit_object_type() asserts that when an implicit
object type is used multiple times, @ifcond is the same for all uses.
It will be for legitimate uses, i.e. simple union branch wrapper
types.  A comment explains this.

The assertion fails when a command or event is redefined with a
different condition.  The redefinition is an error, but it's flagged
only later.

Fixing the assertion would complicate matters further.  Not
worthwhile, drop it instead.  We really need to get rid of simple
unions.

Tweak test case redefined-event to cover redefinition with a different
condition.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20210806120510.2367124-1-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
2021-08-26 13:53:56 +02:00
..
__init__.py qapi-gen: New common driver for code and doc generators 2018-03-02 13:14:09 -06:00
.flake8 qapi: delint using flake8 2020-10-10 11:37:47 +02:00
.isort.cfg qapi: enforce import order/styling with isort 2020-10-10 11:37:47 +02:00
commands.py qapi: Implement deprecated-input=reject for QMP command arguments 2021-03-19 16:05:11 +01:00
common.py qapi: add must_match helper 2021-05-20 11:28:28 +02:00
error.py qapi/error: Add type hints 2021-04-30 12:59:54 +02:00
events.py qapi: Implement deprecated-output=hide for QMP event data 2021-03-19 15:43:33 +01:00
expr.py qapi: Fix crash on missing enum member name 2021-07-15 12:56:41 +02:00
gen.py qapi: Replace List[str] with Sequence[str] for ifcond 2021-02-18 17:10:29 +01:00
introspect.py qapi/introspect.py: set _gen_tree's default ifcond argument to () 2021-02-18 19:51:14 +01:00
main.py qapi: add must_match helper 2021-05-20 11:28:28 +02:00
mypy.ini qapi/error.py: enable mypy checks 2021-04-30 12:59:54 +02:00
parser.py qapi/parser: add docstrings 2021-05-20 17:10:09 +02:00
pylintrc qapi/parser: allow 'ch' variable name 2021-05-20 17:09:44 +02:00
schema.py qapi: Fix crash on redefinition with a different condition 2021-08-26 13:53:56 +02:00
source.py qapi/source: Remove line number from QAPISourceInfo initializer 2021-05-20 11:28:27 +02:00
types.py qapi: Replace List[str] with Sequence[str] for ifcond 2021-02-18 17:10:29 +01:00
visit.py qapi: Implement deprecated-input=reject for QMP command arguments 2021-03-19 16:05:11 +01:00