Markus Armbruster 441cbac0c7 qapi-visit: Convert to QAPISchemaVisitor, fixing bugs
Fixes flat unions to visit the base's base members (the previous
commit merely added them to the struct).  Same test case.

Patch's effect on visit_type_UserDefFlatUnion():

     static void visit_type_UserDefFlatUnion_fields(Visitor *m, UserDefFlatUnion **obj, Error **errp)
     {
         Error *err = NULL;

    +    visit_type_int(m, &(*obj)->integer, "integer", &err);
    +    if (err) {
    +        goto out;
    +    }
         visit_type_str(m, &(*obj)->string, "string", &err);
         if (err) {
             goto out;

Test cases updated for the bug fix.

Fixes alternates to generate a visitor for their implicit enumeration
type.  None of them are currently used, obviously.  Example:
block-core.json's BlockdevRef now generates
visit_type_BlockdevRefKind().

Code is generated in a different order now, and therefore has got a
few new forward declarations.  Doesn't matter.

The guard QAPI_VISIT_BUILTIN_VISITOR_DECL is renamed to
QAPI_VISIT_BUILTIN.

The previous commit's two ugly special cases exist here, too.  Mark
both TODO.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrange <berrange@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
2015-09-21 09:56:40 +02:00
..
2015-09-11 10:45:43 +03:00
2014-05-05 20:58:33 +02:00
2012-03-12 15:14:07 +01:00
2015-06-22 17:40:00 +02:00
2014-05-05 20:58:33 +02:00
2014-03-31 22:36:17 +02:00
2015-09-18 10:58:56 -04:00
2014-05-05 20:58:33 +02:00
2014-05-05 20:58:33 +02:00
2014-02-14 21:07:13 +01:00
2015-05-22 15:58:22 -04:00
2014-02-14 20:50:19 +01:00
2014-02-14 16:22:33 +01:00
2015-06-05 19:45:09 +02:00
2014-02-14 21:02:27 +01:00
2014-03-31 22:35:50 +02:00
2014-02-14 16:22:33 +01:00