qemu/qapi
Eric Blake dbf1192262 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>
2016-02-19 11:08:57 +01:00
..
block-core.json qemu-img: Make MapEntry a QAPI struct 2016-02-02 17:50:48 +01:00
block.json nbd: enable use of TLS with nbd-server-start command 2016-02-16 17:17:49 +01:00
common.json kvm: add support for -machine kernel_irqchip=split 2015-12-17 17:15:40 +01:00
crypto.json crypto: move QCryptoCipherAlgorithm/Mode enum definitions into QAPI 2015-12-23 11:02:20 +00:00
event.json Migration: Emit event at start of pass 2016-01-13 16:02:13 +05:30
introspect.json qapi: Document introspection stability considerations 2015-11-17 08:42:07 +01:00
Makefile.objs rename parse_enum_option to qapi_enum_parse and make it public 2014-09-08 11:12:43 +01:00
opts-visitor.c qapi: Adjust layout of FooList types 2016-02-19 11:08:57 +01:00
qapi-dealloc-visitor.c qapi: Change visit_start_implicit_struct to visit_start_alternate 2016-02-19 11:08:57 +01:00
qapi-util.c qapi: Clean up includes 2016-02-04 17:41:30 +00:00
qapi-visit-core.c qapi: Change visit_start_implicit_struct to visit_start_alternate 2016-02-19 11:08:57 +01:00
qmp-dispatch.c qapi: Clean up includes 2016-02-04 17:41:30 +00:00
qmp-event.c qapi: Clean up includes 2016-02-04 17:41:30 +00:00
qmp-input-visitor.c qapi: Change visit_start_implicit_struct to visit_start_alternate 2016-02-19 11:08:57 +01:00
qmp-output-visitor.c qapi: Adjust layout of FooList types 2016-02-19 11:08:57 +01:00
qmp-registry.c qapi: Clean up includes 2016-02-04 17:41:30 +00:00
rocker.json qmp/hmp: add rocker device support 2015-06-12 13:42:17 +01:00
string-input-visitor.c qapi: Adjust layout of FooList types 2016-02-19 11:08:57 +01:00
string-output-visitor.c qapi: Adjust layout of FooList types 2016-02-19 11:08:57 +01:00
trace.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00