aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2017-03-15 13:57:17 +0100
committerMarkus Armbruster <armbru@redhat.com>2017-03-16 07:13:03 +0100
commitc19eaa64df7be01f060e04c0f13bba5de549c3f3 (patch)
treeabda143aa613ee2d90d0da40043c45af3f77f8d9 /scripts
parent5169cd87673b99be8c017b1969583f0c729917d9 (diff)
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 <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <1489582656-31133-29-git-send-email-armbru@redhat.com>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/qapi2texi.py9
1 files changed, 7 insertions, 2 deletions
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: