From nobody Tue Feb 10 04:03:11 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1489583492628481.368742142054; Wed, 15 Mar 2017 06:11:32 -0700 (PDT) Received: from localhost ([::1]:37072 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1co8i5-0003iu-8N for importer@patchew.org; Wed, 15 Mar 2017 09:11:25 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33458) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1co8Ut-0001W7-22 for qemu-devel@nongnu.org; Wed, 15 Mar 2017 08:57:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1co8Up-0000JG-Qz for qemu-devel@nongnu.org; Wed, 15 Mar 2017 08:57:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45134) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1co8Up-0000HR-CA for qemu-devel@nongnu.org; Wed, 15 Mar 2017 08:57:43 -0400 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 21CB9342C47; Wed, 15 Mar 2017 12:57:43 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-26.ams2.redhat.com [10.36.116.26]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v2FCvfVm020078 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 15 Mar 2017 08:57:42 -0400 Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id A2A42113860D; Wed, 15 Mar 2017 13:57:36 +0100 (CET) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 21CB9342C47 Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=armbru@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 21CB9342C47 From: Markus Armbruster To: qemu-devel@nongnu.org Date: Wed, 15 Mar 2017 13:57:04 +0100 Message-Id: <1489582656-31133-16-git-send-email-armbru@redhat.com> In-Reply-To: <1489582656-31133-1-git-send-email-armbru@redhat.com> References: <1489582656-31133-1-git-send-email-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Wed, 15 Mar 2017 12:57:43 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 for-2.9 15/47] qapi: Conjure up QAPIDoc.ArgSection for undocumented members X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcandre.lureau@redhat.com, mdroth@linux.vnet.ibm.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" qapi2texi.py already conjures up ArgSections for undocumented enumeration values, in texi_enum. Drop that, and conjure them up for all kinds of "arguments" (enumeration values, object and alternate type members) in qapi.py instead. Take care to keep generated documentation exactly the same for now. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- scripts/qapi.py | 5 ++--- scripts/qapi2texi.py | 31 ++++++++++++++++--------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/scripts/qapi.py b/scripts/qapi.py index c1e0bed..f4c8eac 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -224,9 +224,8 @@ class QAPIDoc(object): def connect_member(self, member): if member.name not in self.args: # Undocumented TODO outlaw - pass - else: - self.args[member.name].connect(member) + self.args[member.name] =3D QAPIDoc.ArgSection(member.name) + self.args[member.name].connect(member) =20 =20 class QAPISchemaParser(object): diff --git a/scripts/qapi2texi.py b/scripts/qapi2texi.py index 0aaf45c..299dcf9 100755 --- a/scripts/qapi2texi.py +++ b/scripts/qapi2texi.py @@ -123,7 +123,7 @@ def texi_format(doc): return "\n".join(lines) =20 =20 -def texi_body(doc): +def texi_body(doc, only_documented=3DFalse): """ Format the body of a symbol documentation: - main body @@ -131,17 +131,21 @@ def texi_body(doc): - followed by "Returns/Notes/Since/Example" sections """ body =3D texi_format(str(doc.body)) + "\n" - if doc.args: + + args =3D '' + for name, section in doc.args.iteritems(): + if not section.content and not only_documented: + continue # Undocumented TODO require doc and drop + desc =3D str(section) + opt =3D '' + if section.optional: + desc =3D re.sub(r'^ *#optional *\n?|\n? *#optional *$|#optiona= l', + '', desc) + opt =3D ' (optional)' + args +=3D "@item @code{'%s'}%s\n%s\n" % (name, opt, texi_format(de= sc)) + if args: body +=3D "@table @asis\n" - for arg, section in doc.args.iteritems(): - desc =3D str(section) - opt =3D '' - if section.optional: - desc =3D re.sub(r'^ *#optional *\n?|\n? *#optional *$|#opt= ional', - '', desc) - opt =3D ' (optional)' - body +=3D "@item @code{'%s'}%s\n%s\n" % (arg, opt, - texi_format(desc)) + body +=3D args body +=3D "@end table\n" =20 for section in doc.sections: @@ -183,10 +187,7 @@ def texi_union(expr, doc): =20 def texi_enum(expr, doc): """Format an enum to texi""" - for i in expr['data']: - if i not in doc.args: - doc.args[i] =3D qapi.QAPIDoc.ArgSection(i) - body =3D texi_body(doc) + body =3D texi_body(doc, True) return TYPE_FMT(type=3D"Enum", name=3Ddoc.symbol, body=3Dbody) --=20 2.7.4