[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-2.9 15/47] qapi: Conjure up QAPIDoc.ArgSection f
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH for-2.9 15/47] qapi: Conjure up QAPIDoc.ArgSection for undocumented members |
Date: |
Mon, 13 Mar 2017 07:18:15 +0100 |
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 <address@hidden>
---
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 4886417..2a2b33d 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -224,9 +224,8 @@ class QAPIDoc(object):
def connect_member(self, member):
if not member.name in self.args:
# Undocumented TODO outlaw
- pass
- else:
- self.args[member.name].connect(member)
+ self.args[member.name] = QAPIDoc.ArgSection(member.name)
+ self.args[member.name].connect(member)
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)
-def texi_body(doc):
+def texi_body(doc, only_documented=False):
"""
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 = texi_format(str(doc.body)) + "\n"
- if doc.args:
+
+ args = ''
+ for name, section in doc.args.iteritems():
+ if not section.content and not only_documented:
+ continue # Undocumented TODO require doc and drop
+ desc = str(section)
+ opt = ''
+ if section.optional:
+ desc = re.sub(r'^ *#optional *\n?|\n? *#optional *$|#optional',
+ '', desc)
+ opt = ' (optional)'
+ args += "@item @code{'%s'}%s\n%s\n" % (name, opt, texi_format(desc))
+ if args:
body += "@table @asis\n"
- for arg, section in doc.args.iteritems():
- desc = str(section)
- opt = ''
- if section.optional:
- desc = re.sub(r'^ *#optional *\n?|\n? *#optional *$|#optional',
- '', desc)
- opt = ' (optional)'
- body += "@item @code{'%s'}%s\n%s\n" % (arg, opt,
- texi_format(desc))
+ body += args
body += "@end table\n"
for section in doc.sections:
@@ -183,10 +187,7 @@ def texi_union(expr, doc):
def texi_enum(expr, doc):
"""Format an enum to texi"""
- for i in expr['data']:
- if i not in doc.args:
- doc.args[i] = qapi.QAPIDoc.ArgSection(i)
- body = texi_body(doc)
+ body = texi_body(doc, True)
return TYPE_FMT(type="Enum",
name=doc.symbol,
body=body)
--
2.7.4
- [Qemu-devel] [PATCH for-2.9 05/47] qapi: Have each QAPI schema declare its returns white-list, (continued)
- [Qemu-devel] [PATCH for-2.9 05/47] qapi: Have each QAPI schema declare its returns white-list, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 24/47] qapi2texi: Implement boxed argument documentation, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 25/47] qapi2texi: Include member type in generated documentation, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 15/47] qapi: Conjure up QAPIDoc.ArgSection for undocumented members,
Markus Armbruster <=
- [Qemu-devel] [PATCH for-2.9 16/47] qapi2texi: Convert to QAPISchemaVisitor, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 30/47] tests/qapi-schema: Improve doc / expression mismatch coverage, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 47/47] qapi: Fix a misleading parser error message, Markus Armbruster, 2017/03/13