mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
qapi: Simplify QAPISchemaIfCond's interface for generating C
QAPISchemaIfCond.cgen() is only ever used like gen_if(ifcond.cgen()) and gen_endif(ifcond.cgen()) Simplify to ifcond.gen_if() and ifcond.gen_endif() Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20210831123809.1107782-2-armbru@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> [Import statements tidied up with isort]
This commit is contained in:
parent
3e038d7d7a
commit
1889e57a71
5 changed files with 31 additions and 38 deletions
|
@ -18,8 +18,6 @@ from typing import List, Optional
|
|||
from .common import (
|
||||
c_enum_const,
|
||||
c_name,
|
||||
gen_endif,
|
||||
gen_if,
|
||||
indent,
|
||||
mcgen,
|
||||
)
|
||||
|
@ -79,7 +77,7 @@ bool visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **errp)
|
|||
|
||||
for memb in members:
|
||||
deprecated = 'deprecated' in [f.name for f in memb.features]
|
||||
ret += gen_if(memb.ifcond.cgen())
|
||||
ret += memb.ifcond.gen_if()
|
||||
if memb.optional:
|
||||
ret += mcgen('''
|
||||
if (visit_optional(v, "%(name)s", &obj->has_%(c_name)s)) {
|
||||
|
@ -112,7 +110,7 @@ bool visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **errp)
|
|||
ret += mcgen('''
|
||||
}
|
||||
''')
|
||||
ret += gen_endif(memb.ifcond.cgen())
|
||||
ret += memb.ifcond.gen_endif()
|
||||
|
||||
if variants:
|
||||
tag_member = variants.tag_member
|
||||
|
@ -126,7 +124,7 @@ bool visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **errp)
|
|||
for var in variants.variants:
|
||||
case_str = c_enum_const(tag_member.type.name, var.name,
|
||||
tag_member.type.prefix)
|
||||
ret += gen_if(var.ifcond.cgen())
|
||||
ret += var.ifcond.gen_if()
|
||||
if var.type.name == 'q_empty':
|
||||
# valid variant and nothing to do
|
||||
ret += mcgen('''
|
||||
|
@ -142,7 +140,7 @@ bool visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **errp)
|
|||
case=case_str,
|
||||
c_type=var.type.c_name(), c_name=c_name(var.name))
|
||||
|
||||
ret += gen_endif(var.ifcond.cgen())
|
||||
ret += var.ifcond.gen_endif()
|
||||
ret += mcgen('''
|
||||
default:
|
||||
abort();
|
||||
|
@ -228,7 +226,7 @@ bool visit_type_%(c_name)s(Visitor *v, const char *name,
|
|||
c_name=c_name(name))
|
||||
|
||||
for var in variants.variants:
|
||||
ret += gen_if(var.ifcond.cgen())
|
||||
ret += var.ifcond.gen_if()
|
||||
ret += mcgen('''
|
||||
case %(case)s:
|
||||
''',
|
||||
|
@ -254,7 +252,7 @@ bool visit_type_%(c_name)s(Visitor *v, const char *name,
|
|||
ret += mcgen('''
|
||||
break;
|
||||
''')
|
||||
ret += gen_endif(var.ifcond.cgen())
|
||||
ret += var.ifcond.gen_endif()
|
||||
|
||||
ret += mcgen('''
|
||||
case QTYPE_NONE:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue