@@ -18,6 +18,15 @@ import re
implicit_structs_seen = set()
struct_fields_seen = set()
+def gen_visit_decl(name, scalar=False):
+ c_type = c_name(name) + ' *'
+ if not scalar:
+ c_type += '*'
+ return mcgen('''
+void visit_type_%(c_name)s(Visitor *m, %(c_type)sobj, const char *name, Error **errp);
+''',
+ c_name=c_name(name), c_type=c_type)
+
def gen_visit_implicit_struct(typ):
if typ in implicit_structs_seen:
return ''
@@ -114,8 +123,12 @@ out:
''')
return ret
-def gen_visit_struct_body(name):
- ret = mcgen('''
+def gen_visit_struct(name, base, members):
+ ret = gen_visit_struct_fields(name, base, members)
+ ret += mcgen('''
+
+void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error **errp)
+{
Error *err = NULL;
visit_start_struct(m, (void **)obj, "%(name)s", name, sizeof(%(c_name)s), &err);
@@ -126,24 +139,10 @@ def gen_visit_struct_body(name):
visit_end_struct(m, &err);
}
error_propagate(errp, err);
+}
''',
name=name, c_name=c_name(name))
- return ret
-def gen_visit_struct(name, base, members):
- ret = gen_visit_struct_fields(name, base, members)
- ret += mcgen('''
-
-void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error **errp)
-{
-''',
- c_name=c_name(name))
-
- ret += gen_visit_struct_body(name)
-
- ret += mcgen('''
-}
-''')
return ret
def gen_visit_list(name, element_type):
@@ -322,15 +321,6 @@ out:
return ret
-def gen_visit_decl(name, scalar=False):
- c_type = c_name(name) + ' *'
- if not scalar:
- c_type += '*'
- return mcgen('''
-void visit_type_%(c_name)s(Visitor *m, %(c_type)sobj, const char *name, Error **errp);
-''',
- c_name=c_name(name), c_type=c_type)
-
class QAPISchemaGenVisitVisitor(QAPISchemaVisitor):
def __init__(self):
self.decl = None
Move gen_visit_decl() to a better place. Inline generate_visit_struct_body(). Signed-off-by: Markus Armbruster <armbru@redhat.com> --- scripts/qapi-visit.py | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-)