mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-29 05:13:54 -06:00
qapi/common.py: Add indent manager
Code style tools really dislike the use of global keywords, because it generally involves re-binding the name at runtime which can have strange effects depending on when and how that global name is referenced in other modules. Make a little indent level manager instead. 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-12-jsnow@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
341f6afbac
commit
cbe8f87f97
2 changed files with 40 additions and 24 deletions
|
@ -18,9 +18,8 @@ from .common import (
|
|||
c_name,
|
||||
gen_endif,
|
||||
gen_if,
|
||||
indent,
|
||||
mcgen,
|
||||
pop_indent,
|
||||
push_indent,
|
||||
)
|
||||
from .gen import QAPISchemaModularCVisitor, ifcontext
|
||||
from .schema import QAPISchemaObjectType
|
||||
|
@ -69,7 +68,7 @@ bool visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **errp)
|
|||
if (visit_optional(v, "%(name)s", &obj->has_%(c_name)s)) {
|
||||
''',
|
||||
name=memb.name, c_name=c_name(memb.name))
|
||||
push_indent()
|
||||
indent.increase()
|
||||
ret += mcgen('''
|
||||
if (!visit_type_%(c_type)s(v, "%(name)s", &obj->%(c_name)s, errp)) {
|
||||
return false;
|
||||
|
@ -78,7 +77,7 @@ bool visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **errp)
|
|||
c_type=memb.type.c_name(), name=memb.name,
|
||||
c_name=c_name(memb.name))
|
||||
if memb.optional:
|
||||
pop_indent()
|
||||
indent.decrease()
|
||||
ret += mcgen('''
|
||||
}
|
||||
''')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue