From: Markus Armbruster Date: Wed, 15 Mar 2017 12:57:17 +0000 (+0100) Subject: qapi2texi: Generate descriptions for simple union tags X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c19eaa64df7be01f060e04c0f13bba5de549c3f3;p=qemu.git qapi2texi: Generate descriptions for simple union tags Simple union tags carry no type information, because their type is implicit. Their description should make up for it, but many have none. Generate one automatically then. Example change (qemu-qmp-ref.txt): -- Simple Union: ImageInfoSpecific A discriminated record of image format specific information structures. Members: 'type' - Not documented + One of "qcow2", "vmdk", "luks" 'data: ImageInfoSpecificQCow2' when 'type' is "qcow2" 'data: ImageInfoSpecificVmdk' when 'type' is "vmdk" 'data: QCryptoBlockInfoLUKS' when 'type' is "luks" Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Message-Id: <1489582656-31133-29-git-send-email-armbru@redhat.com> --- diff --git a/scripts/qapi2texi.py b/scripts/qapi2texi.py index ab6b6cda25..282adf46dc 100755 --- a/scripts/qapi2texi.py +++ b/scripts/qapi2texi.py @@ -148,11 +148,16 @@ def texi_members(doc, what, base, variants, member_func): """Format the table of members""" items = '' for section in doc.args.itervalues(): + # TODO Drop fallbacks when undocumented members are outlawed if section.content: - desc = str(section) + desc = texi_format(str(section)) + elif (variants and variants.tag_member == section.member + and not section.member.type.doc_type()): + values = section.member.type.member_names() + desc = 'One of ' + ', '.join(['@t{"%s"}' % v for v in values]) else: desc = 'Not documented' - items += member_func(section.member) + texi_format(desc) + '\n' + items += member_func(section.member) + desc + '\n' if base: items += '@item The members of @code{%s}\n' % base.doc_type() if variants: