qapi: Consistent generated code: prefer visitor 'v'

We had some pointless differences in the generated code for visit,
command marshalling, and events; unifying them makes it easier for
future patches to consolidate to common helper functions.
This is one patch of a series to clean up these differences.

This patch names the local visitor variable 'v' rather than 'm'.
Related objects, such as 'QapiDeallocVisitor', are also named by
their initials instead of an unrelated leading m.

No change in semantics to the generated code.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1443565276-4535-12-git-send-email-eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
Eric Blake 2015-09-29 16:21:09 -06:00 committed by Markus Armbruster
parent 2a0f50e8d9
commit f8b7f1a8ea
6 changed files with 109 additions and 109 deletions

View file

@ -740,32 +740,32 @@ Example:
void qapi_free_UserDefOne(UserDefOne *obj) void qapi_free_UserDefOne(UserDefOne *obj)
{ {
QapiDeallocVisitor *md; QapiDeallocVisitor *qdv;
Visitor *v; Visitor *v;
if (!obj) { if (!obj) {
return; return;
} }
md = qapi_dealloc_visitor_new(); qdv = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md); v = qapi_dealloc_get_visitor(qdv);
visit_type_UserDefOne(v, &obj, NULL, NULL); visit_type_UserDefOne(v, &obj, NULL, NULL);
qapi_dealloc_visitor_cleanup(md); qapi_dealloc_visitor_cleanup(qdv);
} }
void qapi_free_UserDefOneList(UserDefOneList *obj) void qapi_free_UserDefOneList(UserDefOneList *obj)
{ {
QapiDeallocVisitor *md; QapiDeallocVisitor *qdv;
Visitor *v; Visitor *v;
if (!obj) { if (!obj) {
return; return;
} }
md = qapi_dealloc_visitor_new(); qdv = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md); v = qapi_dealloc_get_visitor(qdv);
visit_type_UserDefOneList(v, &obj, NULL, NULL); visit_type_UserDefOneList(v, &obj, NULL, NULL);
qapi_dealloc_visitor_cleanup(md); qapi_dealloc_visitor_cleanup(qdv);
} }
$ cat qapi-generated/example-qapi-types.h $ cat qapi-generated/example-qapi-types.h
[Uninteresting stuff omitted...] [Uninteresting stuff omitted...]
@ -823,15 +823,15 @@ Example:
$ cat qapi-generated/example-qapi-visit.c $ cat qapi-generated/example-qapi-visit.c
[Uninteresting stuff omitted...] [Uninteresting stuff omitted...]
static void visit_type_UserDefOne_fields(Visitor *m, UserDefOne **obj, Error **errp) static void visit_type_UserDefOne_fields(Visitor *v, UserDefOne **obj, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
visit_type_int(m, &(*obj)->integer, "integer", &err); visit_type_int(v, &(*obj)->integer, "integer", &err);
if (err) { if (err) {
goto out; goto out;
} }
visit_type_str(m, &(*obj)->string, "string", &err); visit_type_str(v, &(*obj)->string, "string", &err);
if (err) { if (err) {
goto out; goto out;
} }
@ -840,40 +840,40 @@ Example:
error_propagate(errp, err); error_propagate(errp, err);
} }
void visit_type_UserDefOne(Visitor *m, UserDefOne **obj, const char *name, Error **errp) void visit_type_UserDefOne(Visitor *v, UserDefOne **obj, const char *name, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
visit_start_struct(m, (void **)obj, "UserDefOne", name, sizeof(UserDefOne), &err); visit_start_struct(v, (void **)obj, "UserDefOne", name, sizeof(UserDefOne), &err);
if (!err) { if (!err) {
if (*obj) { if (*obj) {
visit_type_UserDefOne_fields(m, obj, errp); visit_type_UserDefOne_fields(v, obj, errp);
} }
visit_end_struct(m, &err); visit_end_struct(v, &err);
} }
error_propagate(errp, err); error_propagate(errp, err);
} }
void visit_type_UserDefOneList(Visitor *m, UserDefOneList **obj, const char *name, Error **errp) void visit_type_UserDefOneList(Visitor *v, UserDefOneList **obj, const char *name, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
GenericList *i, **prev; GenericList *i, **prev;
visit_start_list(m, name, &err); visit_start_list(v, name, &err);
if (err) { if (err) {
goto out; goto out;
} }
for (prev = (GenericList **)obj; for (prev = (GenericList **)obj;
!err && (i = visit_next_list(m, prev, &err)) != NULL; !err && (i = visit_next_list(v, prev, &err)) != NULL;
prev = &i) { prev = &i) {
UserDefOneList *native_i = (UserDefOneList *)i; UserDefOneList *native_i = (UserDefOneList *)i;
visit_type_UserDefOne(m, &native_i->value, NULL, &err); visit_type_UserDefOne(v, &native_i->value, NULL, &err);
} }
error_propagate(errp, err); error_propagate(errp, err);
err = NULL; err = NULL;
visit_end_list(m, &err); visit_end_list(v, &err);
out: out:
error_propagate(errp, err); error_propagate(errp, err);
} }
@ -885,8 +885,8 @@ Example:
[Visitors for built-in types omitted...] [Visitors for built-in types omitted...]
void visit_type_UserDefOne(Visitor *m, UserDefOne **obj, const char *name, Error **errp); void visit_type_UserDefOne(Visitor *v, UserDefOne **obj, const char *name, Error **errp);
void visit_type_UserDefOneList(Visitor *m, UserDefOneList **obj, const char *name, Error **errp); void visit_type_UserDefOneList(Visitor *v, UserDefOneList **obj, const char *name, Error **errp);
#endif #endif
@ -917,36 +917,36 @@ Example:
static void qmp_marshal_output_UserDefOne(UserDefOne *ret_in, QObject **ret_out, Error **errp) static void qmp_marshal_output_UserDefOne(UserDefOne *ret_in, QObject **ret_out, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
QmpOutputVisitor *mo = qmp_output_visitor_new(); QmpOutputVisitor *qov = qmp_output_visitor_new();
QapiDeallocVisitor *md; QapiDeallocVisitor *qdv;
Visitor *v; Visitor *v;
v = qmp_output_get_visitor(mo); v = qmp_output_get_visitor(qov);
visit_type_UserDefOne(v, &ret_in, "unused", &err); visit_type_UserDefOne(v, &ret_in, "unused", &err);
if (err) { if (err) {
goto out; goto out;
} }
*ret_out = qmp_output_get_qobject(mo); *ret_out = qmp_output_get_qobject(qov);
out: out:
error_propagate(errp, err); error_propagate(errp, err);
qmp_output_visitor_cleanup(mo); qmp_output_visitor_cleanup(qov);
md = qapi_dealloc_visitor_new(); qdv = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md); v = qapi_dealloc_get_visitor(qdv);
visit_type_UserDefOne(v, &ret_in, "unused", NULL); visit_type_UserDefOne(v, &ret_in, "unused", NULL);
qapi_dealloc_visitor_cleanup(md); qapi_dealloc_visitor_cleanup(qdv);
} }
static void qmp_marshal_my_command(QDict *args, QObject **ret, Error **errp) static void qmp_marshal_my_command(QDict *args, QObject **ret, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
UserDefOne *retval; UserDefOne *retval;
QmpInputVisitor *mi = qmp_input_visitor_new_strict(QOBJECT(args)); QmpInputVisitor *qiv = qmp_input_visitor_new_strict(QOBJECT(args));
QapiDeallocVisitor *md; QapiDeallocVisitor *qdv;
Visitor *v; Visitor *v;
UserDefOne *arg1 = NULL; UserDefOne *arg1 = NULL;
v = qmp_input_get_visitor(mi); v = qmp_input_get_visitor(qiv);
visit_type_UserDefOne(v, &arg1, "arg1", &err); visit_type_UserDefOne(v, &arg1, "arg1", &err);
if (err) { if (err) {
goto out; goto out;
@ -961,11 +961,11 @@ Example:
out: out:
error_propagate(errp, err); error_propagate(errp, err);
qmp_input_visitor_cleanup(mi); qmp_input_visitor_cleanup(qiv);
md = qapi_dealloc_visitor_new(); qdv = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md); v = qapi_dealloc_get_visitor(qdv);
visit_type_UserDefOne(v, &arg1, "arg1", NULL); visit_type_UserDefOne(v, &arg1, "arg1", NULL);
qapi_dealloc_visitor_cleanup(md); qapi_dealloc_visitor_cleanup(qdv);
} }
static void qmp_init_marshal(void) static void qmp_init_marshal(void)

View file

@ -1167,31 +1167,31 @@ out:
void object_property_parse(Object *obj, const char *string, void object_property_parse(Object *obj, const char *string,
const char *name, Error **errp) const char *name, Error **errp)
{ {
StringInputVisitor *mi; StringInputVisitor *siv;
mi = string_input_visitor_new(string); siv = string_input_visitor_new(string);
object_property_set(obj, string_input_get_visitor(mi), name, errp); object_property_set(obj, string_input_get_visitor(siv), name, errp);
string_input_visitor_cleanup(mi); string_input_visitor_cleanup(siv);
} }
char *object_property_print(Object *obj, const char *name, bool human, char *object_property_print(Object *obj, const char *name, bool human,
Error **errp) Error **errp)
{ {
StringOutputVisitor *mo; StringOutputVisitor *sov;
char *string = NULL; char *string = NULL;
Error *local_err = NULL; Error *local_err = NULL;
mo = string_output_visitor_new(human); sov = string_output_visitor_new(human);
object_property_get(obj, string_output_get_visitor(mo), name, &local_err); object_property_get(obj, string_output_get_visitor(sov), name, &local_err);
if (local_err) { if (local_err) {
error_propagate(errp, local_err); error_propagate(errp, local_err);
goto out; goto out;
} }
string = string_output_get_string(mo); string = string_output_get_string(sov);
out: out:
string_output_visitor_cleanup(mo); string_output_visitor_cleanup(sov);
return string; return string;
} }

View file

@ -19,11 +19,11 @@
void object_property_set_qobject(Object *obj, QObject *value, void object_property_set_qobject(Object *obj, QObject *value,
const char *name, Error **errp) const char *name, Error **errp)
{ {
QmpInputVisitor *mi; QmpInputVisitor *qiv;
mi = qmp_input_visitor_new(value); qiv = qmp_input_visitor_new(value);
object_property_set(obj, qmp_input_get_visitor(mi), name, errp); object_property_set(obj, qmp_input_get_visitor(qiv), name, errp);
qmp_input_visitor_cleanup(mi); qmp_input_visitor_cleanup(qiv);
} }
QObject *object_property_get_qobject(Object *obj, const char *name, QObject *object_property_get_qobject(Object *obj, const char *name,
@ -31,14 +31,14 @@ QObject *object_property_get_qobject(Object *obj, const char *name,
{ {
QObject *ret = NULL; QObject *ret = NULL;
Error *local_err = NULL; Error *local_err = NULL;
QmpOutputVisitor *mo; QmpOutputVisitor *qov;
mo = qmp_output_visitor_new(); qov = qmp_output_visitor_new();
object_property_get(obj, qmp_output_get_visitor(mo), name, &local_err); object_property_get(obj, qmp_output_get_visitor(qov), name, &local_err);
if (!local_err) { if (!local_err) {
ret = qmp_output_get_qobject(mo); ret = qmp_output_get_qobject(qov);
} }
error_propagate(errp, local_err); error_propagate(errp, local_err);
qmp_output_visitor_cleanup(mo); qmp_output_visitor_cleanup(qov);
return ret; return ret;
} }

View file

@ -82,8 +82,8 @@ def gen_marshal_vars(arg_type, ret_type):
if arg_type: if arg_type:
ret += mcgen(''' ret += mcgen('''
QmpInputVisitor *mi = qmp_input_visitor_new_strict(QOBJECT(args)); QmpInputVisitor *qiv = qmp_input_visitor_new_strict(QOBJECT(args));
QapiDeallocVisitor *md; QapiDeallocVisitor *qdv;
Visitor *v; Visitor *v;
''') ''')
@ -122,15 +122,15 @@ def gen_marshal_input_visit(arg_type, dealloc=False):
errparg = 'NULL' errparg = 'NULL'
errarg = None errarg = None
ret += mcgen(''' ret += mcgen('''
qmp_input_visitor_cleanup(mi); qmp_input_visitor_cleanup(qiv);
md = qapi_dealloc_visitor_new(); qdv = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md); v = qapi_dealloc_get_visitor(qdv);
''') ''')
else: else:
errparg = '&err' errparg = '&err'
errarg = 'err' errarg = 'err'
ret += mcgen(''' ret += mcgen('''
v = qmp_input_get_visitor(mi); v = qmp_input_get_visitor(qiv);
''') ''')
for memb in arg_type.members: for memb in arg_type.members:
@ -160,7 +160,7 @@ visit_type_%(c_type)s(v, &%(c_name)s, "%(name)s", %(errp)s);
if dealloc: if dealloc:
ret += mcgen(''' ret += mcgen('''
qapi_dealloc_visitor_cleanup(md); qapi_dealloc_visitor_cleanup(qdv);
''') ''')
pop_indent() pop_indent()
return ret return ret
@ -172,24 +172,24 @@ def gen_marshal_output(ret_type):
static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in, QObject **ret_out, Error **errp) static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in, QObject **ret_out, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
QmpOutputVisitor *mo = qmp_output_visitor_new(); QmpOutputVisitor *qov = qmp_output_visitor_new();
QapiDeallocVisitor *md; QapiDeallocVisitor *qdv;
Visitor *v; Visitor *v;
v = qmp_output_get_visitor(mo); v = qmp_output_get_visitor(qov);
visit_type_%(c_name)s(v, &ret_in, "unused", &err); visit_type_%(c_name)s(v, &ret_in, "unused", &err);
if (err) { if (err) {
goto out; goto out;
} }
*ret_out = qmp_output_get_qobject(mo); *ret_out = qmp_output_get_qobject(qov);
out: out:
error_propagate(errp, err); error_propagate(errp, err);
qmp_output_visitor_cleanup(mo); qmp_output_visitor_cleanup(qov);
md = qapi_dealloc_visitor_new(); qdv = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md); v = qapi_dealloc_get_visitor(qdv);
visit_type_%(c_name)s(v, &ret_in, "unused", NULL); visit_type_%(c_name)s(v, &ret_in, "unused", NULL);
qapi_dealloc_visitor_cleanup(md); qapi_dealloc_visitor_cleanup(qdv);
} }
''', ''',
c_type=ret_type.c_type(), c_name=ret_type.c_name()) c_type=ret_type.c_type(), c_name=ret_type.c_name())

View file

@ -188,17 +188,17 @@ def gen_type_cleanup(name):
void qapi_free_%(c_name)s(%(c_name)s *obj) void qapi_free_%(c_name)s(%(c_name)s *obj)
{ {
QapiDeallocVisitor *md; QapiDeallocVisitor *qdv;
Visitor *v; Visitor *v;
if (!obj) { if (!obj) {
return; return;
} }
md = qapi_dealloc_visitor_new(); qdv = qapi_dealloc_visitor_new();
v = qapi_dealloc_get_visitor(md); v = qapi_dealloc_get_visitor(qdv);
visit_type_%(c_name)s(v, &obj, NULL, NULL); visit_type_%(c_name)s(v, &obj, NULL, NULL);
qapi_dealloc_visitor_cleanup(md); qapi_dealloc_visitor_cleanup(qdv);
} }
''', ''',
c_name=c_name(name)) c_name=c_name(name))

View file

@ -24,7 +24,7 @@ def gen_visit_decl(name, scalar=False):
if not scalar: if not scalar:
c_type += '*' c_type += '*'
return mcgen(''' return mcgen('''
void visit_type_%(c_name)s(Visitor *m, %(c_type)sobj, const char *name, Error **errp); void visit_type_%(c_name)s(Visitor *v, %(c_type)sobj, const char *name, Error **errp);
''', ''',
c_name=c_name(name), c_type=c_type) c_name=c_name(name), c_type=c_type)
@ -39,20 +39,20 @@ def gen_visit_implicit_struct(typ):
# Need a forward declaration # Need a forward declaration
ret += mcgen(''' ret += mcgen('''
static void visit_type_%(c_type)s_fields(Visitor *m, %(c_type)s **obj, Error **errp); static void visit_type_%(c_type)s_fields(Visitor *v, %(c_type)s **obj, Error **errp);
''', ''',
c_type=typ.c_name()) c_type=typ.c_name())
ret += mcgen(''' ret += mcgen('''
static void visit_type_implicit_%(c_type)s(Visitor *m, %(c_type)s **obj, Error **errp) static void visit_type_implicit_%(c_type)s(Visitor *v, %(c_type)s **obj, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
visit_start_implicit_struct(m, (void **)obj, sizeof(%(c_type)s), &err); visit_start_implicit_struct(v, (void **)obj, sizeof(%(c_type)s), &err);
if (!err) { if (!err) {
visit_type_%(c_type)s_fields(m, obj, errp); visit_type_%(c_type)s_fields(v, obj, errp);
visit_end_implicit_struct(m, &err); visit_end_implicit_struct(v, &err);
} }
error_propagate(errp, err); error_propagate(errp, err);
} }
@ -71,7 +71,7 @@ def gen_visit_struct_fields(name, base, members):
ret += mcgen(''' ret += mcgen('''
static void visit_type_%(c_name)s_fields(Visitor *m, %(c_name)s **obj, Error **errp) static void visit_type_%(c_name)s_fields(Visitor *v, %(c_name)s **obj, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
@ -81,7 +81,7 @@ static void visit_type_%(c_name)s_fields(Visitor *m, %(c_name)s **obj, Error **e
if base: if base:
ret += mcgen(''' ret += mcgen('''
visit_type_implicit_%(c_type)s(m, &(*obj)->%(c_name)s, &err); visit_type_implicit_%(c_type)s(v, &(*obj)->%(c_name)s, &err);
if (err) { if (err) {
goto out; goto out;
} }
@ -91,14 +91,14 @@ if (err) {
for memb in members: for memb in members:
if memb.optional: if memb.optional:
ret += mcgen(''' ret += mcgen('''
visit_optional(m, &(*obj)->has_%(c_name)s, "%(name)s", &err); visit_optional(v, &(*obj)->has_%(c_name)s, "%(name)s", &err);
if (!err && (*obj)->has_%(c_name)s) { if (!err && (*obj)->has_%(c_name)s) {
''', ''',
c_name=c_name(memb.name), name=memb.name) c_name=c_name(memb.name), name=memb.name)
push_indent() push_indent()
ret += mcgen(''' ret += mcgen('''
visit_type_%(c_type)s(m, &(*obj)->%(c_name)s, "%(name)s", &err); visit_type_%(c_type)s(v, &(*obj)->%(c_name)s, "%(name)s", &err);
''', ''',
c_type=memb.type.c_name(), c_name=c_name(memb.name), c_type=memb.type.c_name(), c_name=c_name(memb.name),
name=memb.name) name=memb.name)
@ -136,16 +136,16 @@ def gen_visit_struct(name, base, members):
# call qapi_free_FOO() to avoid a memory leak of the partial FOO. # call qapi_free_FOO() to avoid a memory leak of the partial FOO.
ret += mcgen(''' ret += mcgen('''
void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error **errp) void visit_type_%(c_name)s(Visitor *v, %(c_name)s **obj, const char *name, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
visit_start_struct(m, (void **)obj, "%(name)s", name, sizeof(%(c_name)s), &err); visit_start_struct(v, (void **)obj, "%(name)s", name, sizeof(%(c_name)s), &err);
if (!err) { if (!err) {
if (*obj) { if (*obj) {
visit_type_%(c_name)s_fields(m, obj, errp); visit_type_%(c_name)s_fields(v, obj, errp);
} }
visit_end_struct(m, &err); visit_end_struct(v, &err);
} }
error_propagate(errp, err); error_propagate(errp, err);
} }
@ -158,26 +158,26 @@ void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error
def gen_visit_list(name, element_type): def gen_visit_list(name, element_type):
return mcgen(''' return mcgen('''
void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error **errp) void visit_type_%(c_name)s(Visitor *v, %(c_name)s **obj, const char *name, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
GenericList *i, **prev; GenericList *i, **prev;
visit_start_list(m, name, &err); visit_start_list(v, name, &err);
if (err) { if (err) {
goto out; goto out;
} }
for (prev = (GenericList **)obj; for (prev = (GenericList **)obj;
!err && (i = visit_next_list(m, prev, &err)) != NULL; !err && (i = visit_next_list(v, prev, &err)) != NULL;
prev = &i) { prev = &i) {
%(c_name)s *native_i = (%(c_name)s *)i; %(c_name)s *native_i = (%(c_name)s *)i;
visit_type_%(c_elt_type)s(m, &native_i->value, NULL, &err); visit_type_%(c_elt_type)s(v, &native_i->value, NULL, &err);
} }
error_propagate(errp, err); error_propagate(errp, err);
err = NULL; err = NULL;
visit_end_list(m, &err); visit_end_list(v, &err);
out: out:
error_propagate(errp, err); error_propagate(errp, err);
} }
@ -188,9 +188,9 @@ out:
def gen_visit_enum(name): def gen_visit_enum(name):
return mcgen(''' return mcgen('''
void visit_type_%(c_name)s(Visitor *m, %(c_name)s *obj, const char *name, Error **errp) void visit_type_%(c_name)s(Visitor *v, %(c_name)s *obj, const char *name, Error **errp)
{ {
visit_type_enum(m, (int *)obj, %(c_name)s_lookup, "%(name)s", name, errp); visit_type_enum(v, (int *)obj, %(c_name)s_lookup, "%(name)s", name, errp);
} }
''', ''',
c_name=c_name(name), name=name) c_name=c_name(name), name=name)
@ -199,15 +199,15 @@ void visit_type_%(c_name)s(Visitor *m, %(c_name)s *obj, const char *name, Error
def gen_visit_alternate(name, variants): def gen_visit_alternate(name, variants):
ret = mcgen(''' ret = mcgen('''
void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error **errp) void visit_type_%(c_name)s(Visitor *v, %(c_name)s **obj, const char *name, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
visit_start_implicit_struct(m, (void**) obj, sizeof(%(c_name)s), &err); visit_start_implicit_struct(v, (void**) obj, sizeof(%(c_name)s), &err);
if (err) { if (err) {
goto out; goto out;
} }
visit_get_next_type(m, (int*) &(*obj)->kind, %(c_name)s_qtypes, name, &err); visit_get_next_type(v, (int*) &(*obj)->kind, %(c_name)s_qtypes, name, &err);
if (err) { if (err) {
goto out_end; goto out_end;
} }
@ -218,7 +218,7 @@ void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error
for var in variants.variants: for var in variants.variants:
ret += mcgen(''' ret += mcgen('''
case %(case)s: case %(case)s:
visit_type_%(c_type)s(m, &(*obj)->%(c_name)s, name, &err); visit_type_%(c_type)s(v, &(*obj)->%(c_name)s, name, &err);
break; break;
''', ''',
case=c_enum_const(variants.tag_member.type.name, case=c_enum_const(variants.tag_member.type.name,
@ -233,7 +233,7 @@ void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error
out_end: out_end:
error_propagate(errp, err); error_propagate(errp, err);
err = NULL; err = NULL;
visit_end_implicit_struct(m, &err); visit_end_implicit_struct(v, &err);
out: out:
error_propagate(errp, err); error_propagate(errp, err);
} }
@ -256,11 +256,11 @@ def gen_visit_union(name, base, variants):
ret += mcgen(''' ret += mcgen('''
void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error **errp) void visit_type_%(c_name)s(Visitor *v, %(c_name)s **obj, const char *name, Error **errp)
{ {
Error *err = NULL; Error *err = NULL;
visit_start_struct(m, (void **)obj, "%(name)s", name, sizeof(%(c_name)s), &err); visit_start_struct(v, (void **)obj, "%(name)s", name, sizeof(%(c_name)s), &err);
if (err) { if (err) {
goto out; goto out;
} }
@ -270,7 +270,7 @@ void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error
if base: if base:
ret += mcgen(''' ret += mcgen('''
visit_type_%(c_name)s_fields(m, obj, &err); visit_type_%(c_name)s_fields(v, obj, &err);
if (err) { if (err) {
goto out_obj; goto out_obj;
} }
@ -282,11 +282,11 @@ void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error
# we pointlessly use a different key for simple unions # we pointlessly use a different key for simple unions
tag_key = 'type' tag_key = 'type'
ret += mcgen(''' ret += mcgen('''
visit_type_%(c_type)s(m, &(*obj)->%(c_name)s, "%(name)s", &err); visit_type_%(c_type)s(v, &(*obj)->%(c_name)s, "%(name)s", &err);
if (err) { if (err) {
goto out_obj; goto out_obj;
} }
if (!visit_start_union(m, !!(*obj)->data, &err) || err) { if (!visit_start_union(v, !!(*obj)->data, &err) || err) {
goto out_obj; goto out_obj;
} }
switch ((*obj)->%(c_name)s) { switch ((*obj)->%(c_name)s) {
@ -308,13 +308,13 @@ void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error
var.name)) var.name))
if simple_union_type: if simple_union_type:
ret += mcgen(''' ret += mcgen('''
visit_type_%(c_type)s(m, &(*obj)->%(c_name)s, "data", &err); visit_type_%(c_type)s(v, &(*obj)->%(c_name)s, "data", &err);
''', ''',
c_type=simple_union_type.c_name(), c_type=simple_union_type.c_name(),
c_name=c_name(var.name)) c_name=c_name(var.name))
else: else:
ret += mcgen(''' ret += mcgen('''
visit_type_implicit_%(c_type)s(m, &(*obj)->%(c_name)s, &err); visit_type_implicit_%(c_type)s(v, &(*obj)->%(c_name)s, &err);
''', ''',
c_type=var.type.c_name(), c_type=var.type.c_name(),
c_name=c_name(var.name)) c_name=c_name(var.name))
@ -329,11 +329,11 @@ void visit_type_%(c_name)s(Visitor *m, %(c_name)s **obj, const char *name, Error
out_obj: out_obj:
error_propagate(errp, err); error_propagate(errp, err);
err = NULL; err = NULL;
visit_end_union(m, !!(*obj)->data, &err); visit_end_union(v, !!(*obj)->data, &err);
error_propagate(errp, err); error_propagate(errp, err);
err = NULL; err = NULL;
} }
visit_end_struct(m, &err); visit_end_struct(v, &err);
out: out:
error_propagate(errp, err); error_propagate(errp, err);
} }