summary refs log tree commit diff stats
path: root/scripts/qapi/error.py
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2024-03-15 16:22:54 +0100
committerMarkus Armbruster <armbru@redhat.com>2024-04-24 10:03:54 +0200
commit7e09dd686f9dc8ee75453fc400e0366cd4c9d3e2 (patch)
treed3e59aa8548a311a4da05982790253f1d682f94d /scripts/qapi/error.py
parent583f4d6fdd96f0f25f39018a9b160654e3f9aa01 (diff)
downloadfocaccia-qemu-7e09dd686f9dc8ee75453fc400e0366cd4c9d3e2.tar.gz
focaccia-qemu-7e09dd686f9dc8ee75453fc400e0366cd4c9d3e2.zip
qapi/schema: assert inner type of QAPISchemaVariants in check_clash()
QAPISchemaVariant's "variants" field is typed as
List[QAPISchemaVariant], where the typing for QAPISchemaVariant allows
its type field to be any QAPISchemaType.

However, QAPISchemaVariant expects that all of its variants contain the
narrower QAPISchemaObjectType. This relationship is enforced at runtime
in QAPISchemaVariants.check(). This relationship is not embedded in the
type system though, so QAPISchemaVariants.check_clash() needs to
re-assert this property in order to call
QAPISchemaVariant.type.check_clash().

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240315152301.3621858-19-armbru@redhat.com>
Diffstat (limited to 'scripts/qapi/error.py')
0 files changed, 0 insertions, 0 deletions