qapi-visit.py: Clean up confusing push_indent() / pop_indent() use
Changing implicit indentation in the middle of generating a block
makes following the code being generated unnecessarily hard.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
diff --git a/scripts/qapi-visit.py b/scripts/qapi-visit.py
index 9f22eee..28176ba 100644
--- a/scripts/qapi-visit.py
+++ b/scripts/qapi-visit.py
@@ -128,12 +128,14 @@
''',
name=full_name)
+ ret += mcgen('''
+ /* Always call end_struct if start_struct succeeded. */
+ visit_end_struct(m, &err);
+}
+error_propagate(errp, err);
+''')
pop_indent()
ret += mcgen('''
- /* Always call end_struct if start_struct succeeded. */
- visit_end_struct(m, &err);
- }
- error_propagate(errp, err);
}
''')
return ret
@@ -289,19 +291,15 @@
''',
name=name)
-
- push_indent()
push_indent()
push_indent()
if base:
ret += mcgen('''
- visit_type_%(name)s_fields(m, obj, &err);
+ visit_type_%(name)s_fields(m, obj, &err);
''',
name=name)
- pop_indent()
-
if not discriminator:
disc_key = "type"
else:
@@ -343,19 +341,17 @@
}
error_propagate(errp, err);
err = NULL;
- }
''')
pop_indent()
- ret += mcgen('''
- /* Always call end_struct if start_struct succeeded. */
- visit_end_struct(m, &err);
- }
- error_propagate(errp, err);
-}
-''')
+ pop_indent()
- pop_indent();
ret += mcgen('''
+ }
+ /* Always call end_struct if start_struct succeeded. */
+ visit_end_struct(m, &err);
+ }
+ error_propagate(errp, err);
+ }
}
''')