mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
qapi/common.py: move build_params into gen.py
Including it in common.py creates a circular import dependency; schema relies on common, but common.build_params requires a type annotation from schema. To type this properly, it needs to be moved outside the cycle. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Cleber Rosa <crosa@redhat.com> Message-Id: <20201009161558.107041-18-jsnow@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
1cc7398dfa
commit
e6a34cd7a4
4 changed files with 36 additions and 34 deletions
|
@ -210,26 +210,3 @@ def gen_endif(ifcond: Sequence[str]) -> str:
|
|||
#endif /* %(cond)s */
|
||||
''', cond=ifc)
|
||||
return ret
|
||||
|
||||
|
||||
def build_params(arg_type,
|
||||
boxed: bool,
|
||||
extra: Optional[str] = None) -> str:
|
||||
ret = ''
|
||||
sep = ''
|
||||
if boxed:
|
||||
assert arg_type
|
||||
ret += '%s arg' % arg_type.c_param_type()
|
||||
sep = ', '
|
||||
elif arg_type:
|
||||
assert not arg_type.variants
|
||||
for memb in arg_type.members:
|
||||
ret += sep
|
||||
sep = ', '
|
||||
if memb.optional:
|
||||
ret += 'bool has_%s, ' % c_name(memb.name)
|
||||
ret += '%s %s' % (memb.type.c_param_type(),
|
||||
c_name(memb.name))
|
||||
if extra:
|
||||
ret += sep + extra
|
||||
return ret if ret else 'void'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue