On 11/29/2013 01:41 AM, Wenchao Xia wrote: > By default, any union will automatically generate a enum type as > "[UnionName]Kind" in C code, and it is duplicated when the discriminator > is specified as a pre-defined enum type in schema. After this patch, > the pre-defined enum type will be really used as the switch case > condition in generated C code, if discriminator is an enum field. > > Signed-off-by: Wenchao Xia <xiaw...@linux.vnet.ibm.com> > ---
> Flat union types avoid the nesting on the wire. They are used whenever a > specific field of the base type is declared as the discriminator ('type' is > -then no longer generated). The discriminator must always be a string field. > +then no longer generated). The discriminator can be a string field or a > +predfined enum field. If it is a string field, a hidden enum type will be s/predfined/predefined/ > +generated as "[UNION_NAME]Kind". If it is an enum field, compile time check s/compile/a compile/ > +will be done to verify the correctness. It is recommended to use enum field. s/enum/an enum/ Thanks for the added documentation on this round. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature