qapi: Change visit_start_implicit_struct to visit_start_alternate
commitdbf11922622685934bfb41e7cf2be9bd4a0405c0
authorEric Blake <eblake@redhat.com>
Thu, 18 Feb 2016 06:48:29 +0000 (17 23:48 -0700)
committerMarkus Armbruster <armbru@redhat.com>
Fri, 19 Feb 2016 10:08:57 +0000 (19 11:08 +0100)
tree47bd5d546ce99f0bfd2954b90a41104034aa1b60
parent544a3731591f5d53e15f22de00ce5ac758d490b3
qapi: Change visit_start_implicit_struct to visit_start_alternate

After recent changes, the only remaining use of
visit_start_implicit_struct() is for allocating the space needed
when visiting an alternate.  Since the term 'implicit struct' is
hard to explain, rename the function to its current usage.  While
at it, we can merge the functionality of visit_get_next_type()
into the same function, making it more like visit_start_struct().

Generated code is now slightly smaller:

| {
|     Error *err = NULL;
|
|-    visit_start_implicit_struct(v, (void**) obj, sizeof(BlockdevRef), &err);
|+    visit_start_alternate(v, name, (GenericAlternate **)obj, sizeof(**obj),
|+                          true, &err);
|     if (err) {
|         goto out;
|     }
|-    visit_get_next_type(v, name, &(*obj)->type, true, &err);
|-    if (err) {
|-        goto out_obj;
|-    }
|     switch ((*obj)->type) {
|     case QTYPE_QDICT:
|         visit_start_struct(v, name, NULL, 0, &err);
...
|     }
|-out_obj:
|-    visit_end_implicit_struct(v);
|+    visit_end_alternate(v);
| out:
|     error_propagate(errp, err);
| }

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1455778109-6278-16-git-send-email-eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
include/qapi/visitor-impl.h
include/qapi/visitor.h
qapi/qapi-dealloc-visitor.c
qapi/qapi-visit-core.c
qapi/qmp-input-visitor.c
scripts/qapi-visit.py