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 <[email protected]> > ---
> 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
