qapi2texi: Implement boxed argument documentation

This replaces manual references like "For the arguments, see the
documentation of ..." by a generated reference "Arguments: the members
of ...".

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <1489582656-31133-25-git-send-email-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2017-03-15 13:57:13 +01:00
parent 2c99f5fdc8
commit c2dd311cb7
3 changed files with 8 additions and 12 deletions

View File

@ -1017,7 +1017,7 @@
##
# @migrate-set-parameters:
#
# Set various migration parameters. See MigrationParameters for details.
# Set various migration parameters.
#
# Since: 2.4
#

View File

@ -1341,8 +1341,6 @@
# The operation can be stopped before it has completed using the
# block-job-cancel command.
#
# For the arguments, see the documentation of DriveBackup.
#
# Returns: nothing on success
# If @device is not a valid block device, GenericError
#
@ -1369,8 +1367,6 @@
# The operation can be stopped before it has completed using the
# block-job-cancel command.
#
# For the arguments, see the documentation of BlockdevBackup.
#
# Returns: nothing on success
# If @device is not a valid block device, DeviceNotFound
#
@ -1458,8 +1454,6 @@
# format of the mirror image, default is to probe if mode='existing',
# else the format of the source.
#
# See DriveMirror for parameter descriptions
#
# Returns: nothing on success
# If @device is not a valid block device, GenericError
#
@ -1731,8 +1725,6 @@
# the device will be removed from its group and the rest of its
# members will not be affected. The 'group' parameter is ignored.
#
# See BlockIOThrottle for parameter descriptions.
#
# Returns: Nothing on success
# If @device is not a valid block device, DeviceNotFound
#
@ -2915,8 +2907,6 @@
# BlockBackend will be created; otherwise, @node-name is mandatory at the top
# level and no BlockBackend will be created.
#
# For the arguments, see the documentation of BlockdevOptions.
#
# Note: This command is still a work in progress. It doesn't support all
# block drivers among other things. Stay away from it unless you want
# to help with its development.

View File

@ -220,9 +220,15 @@ def visit_command(self, name, info, arg_type, ret_type,
doc = self.cur_doc
if self.out:
self.out += '\n'
if boxed:
body = texi_body(doc)
body += '\n@b{Arguments:} the members of @code{%s}' % arg_type.name
body += texi_sections(doc)
else:
body = texi_entity(doc, 'Arguments')
self.out += MSG_FMT(type='Command',
name=doc.symbol,
body=texi_entity(doc, 'Arguments'))
body=body)
def visit_event(self, name, info, arg_type, boxed):
doc = self.cur_doc