qapi: Assert non-input visitors see only valid alternate tags
commit7111a86e1ba23ff8d59886df03d8a1cd6c5aab43
authorMarkus Armbruster <armbru@redhat.com>
Fri, 24 Apr 2020 08:43:34 +0000 (24 10:43 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Thu, 30 Apr 2020 05:26:40 +0000 (30 07:26 +0200)
treed9a8fc2157b797015477ed326f62620501417a9c
parentc978bd5226f1ed73456ac468a7ed50af3d24dc84
qapi: Assert non-input visitors see only valid alternate tags

An alternate type's visit_type_FOO() fails when it runs into an
invalid ->type.

This is appropriate with an input visitor: visit_start_alternate()
sets ->type according to the input, and bad input can lead to bad
->type.

It should never happen with an output, clone or dealloc visitor: if it
did, the alternate being output, cloned or deallocated would be messed
up beyond repair.  Assert that.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200424084338.26803-12-armbru@redhat.com>
scripts/qapi/visit.py