qapi: Assert incomplete object occurs only in dealloc visitor

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200424084338.26803-7-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2020-04-24 10:43:29 +02:00
parent 554d6586ae
commit 8e08bf4ea2
4 changed files with 16 additions and 0 deletions

View file

@ -189,6 +189,8 @@ void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error
goto out;
}
if (!*obj) {
/* incomplete */
assert(visit_is_dealloc(v));
goto out_obj;
}
switch ((*obj)->type) {
@ -260,6 +262,8 @@ void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error
goto out;
}
if (!*obj) {
/* incomplete */
assert(visit_is_dealloc(v));
goto out_obj;
}
visit_type_%(c_name)s_members(v, *obj, &err);