[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 12/26] qapi2texi: add 'If:' section to generated doc
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH 12/26] qapi2texi: add 'If:' section to generated documentation |
Date: |
Thu, 27 Jul 2017 17:41:12 +0200 |
The documentation is generated only once, and doesn't know C
pre-conditions.
Signed-off-by: Marc-André Lureau <address@hidden>
---
scripts/qapi2texi.py | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/scripts/qapi2texi.py b/scripts/qapi2texi.py
index 5aa2f48bfd..bfb8cd7c52 100755
--- a/scripts/qapi2texi.py
+++ b/scripts/qapi2texi.py
@@ -132,7 +132,6 @@ def texi_enum_value(value):
"""Format a table of members item for an enumeration value"""
return '@item @code{%s}\n' % value.name
-
def texi_member(member, suffix=''):
"""Format a table of members item for an object type member"""
typ = member.type.doc_type()
@@ -175,7 +174,7 @@ def texi_members(doc, what, base, variants, member_func):
return 'address@hidden:address@hidden @address@hidden table\n' % (what,
items)
-def texi_sections(doc):
+def texi_sections(doc, ifcond):
"""Format additional sections following arguments"""
body = ''
for section in doc.sections:
@@ -189,14 +188,16 @@ def texi_sections(doc):
body += 'address@hidden:}\n' % name
body += func(doc)
+ if ifcond:
+ body += 'address@hidden:} @code{%s}' % ifcond
return body
-def texi_entity(doc, what, base=None, variants=None,
+def texi_entity(doc, what, ifcond, base=None, variants=None,
member_func=texi_member):
return (texi_body(doc)
+ texi_members(doc, what, base, variants, member_func)
- + texi_sections(doc))
+ + texi_sections(doc, ifcond))
class QAPISchemaGenDocVisitor(qapi.QAPISchemaVisitor):
@@ -213,7 +214,7 @@ class QAPISchemaGenDocVisitor(qapi.QAPISchemaVisitor):
self.out += '\n'
self.out += TYPE_FMT(type='Enum',
name=doc.symbol,
- body=texi_entity(doc, 'Values',
+ body=texi_entity(doc, 'Values', ifcond,
member_func=texi_enum_value))
def visit_object_type(self, name, info, base, members, variants, ifcond):
@@ -224,7 +225,8 @@ class QAPISchemaGenDocVisitor(qapi.QAPISchemaVisitor):
self.out += '\n'
self.out += TYPE_FMT(type='Object',
name=doc.symbol,
- body=texi_entity(doc, 'Members', base, variants))
+ body=texi_entity(doc, 'Members', ifcond,
+ base, variants))
def visit_alternate_type(self, name, info, variants, ifcond):
doc = self.cur_doc
@@ -232,7 +234,7 @@ class QAPISchemaGenDocVisitor(qapi.QAPISchemaVisitor):
self.out += '\n'
self.out += TYPE_FMT(type='Alternate',
name=doc.symbol,
- body=texi_entity(doc, 'Members'))
+ body=texi_entity(doc, 'Members', ifcond))
def visit_command(self, name, info, arg_type, ret_type,
gen, success_response, boxed, ifcond):
@@ -242,9 +244,9 @@ class QAPISchemaGenDocVisitor(qapi.QAPISchemaVisitor):
if boxed:
body = texi_body(doc)
body += 'address@hidden:} the members of @code{%s}' % arg_type.name
- body += texi_sections(doc)
+ body += texi_sections(doc, ifcond)
else:
- body = texi_entity(doc, 'Arguments')
+ body = texi_entity(doc, 'Arguments', ifcond)
self.out += MSG_FMT(type='Command',
name=doc.symbol,
body=body)
@@ -255,7 +257,7 @@ class QAPISchemaGenDocVisitor(qapi.QAPISchemaVisitor):
self.out += '\n'
self.out += MSG_FMT(type='Event',
name=doc.symbol,
- body=texi_entity(doc, 'Arguments'))
+ body=texi_entity(doc, 'Arguments', ifcond))
def symbol(self, doc, entity):
self.cur_doc = doc
@@ -266,7 +268,7 @@ class QAPISchemaGenDocVisitor(qapi.QAPISchemaVisitor):
assert not doc.args
if self.out:
self.out += '\n'
- self.out += texi_body(doc) + texi_sections(doc)
+ self.out += texi_body(doc) + texi_sections(doc, None)
def texi_schema(schema):
--
2.14.0.rc0.1.g40ca67566
- [Qemu-devel] [PATCH 05/26] visitor: pass size of strings array to enum visitor, (continued)
- [Qemu-devel] [PATCH 05/26] visitor: pass size of strings array to enum visitor, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 20/26] tests/qmp-test: add query-qmp-schema test, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 22/26] qapi: make rtc-reset-reinjection depend on TARGET_I386, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 19/26] build-sys: move qapi variables in qapi.mak, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 13/26] qapi2texi: add 'If:' condition to enum values, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 23/26] qapi: make s390 commands depend on TARGET_S390X, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 16/26] qapi: add conditions to VNC type/commands/events on the schema, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 08/26] qapi: add 'if' condition on enum member values, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 24/26] qapi: make query-gic-capabilities depend on TARGET_ARM, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 15/26] qapi2texi: add condition to variants, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 12/26] qapi2texi: add 'If:' section to generated documentation,
Marc-André Lureau <=
- [Qemu-devel] [PATCH 21/26] build-sys: make qemu qapi objects per-target, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 14/26] qapi2texi: add 'If:' condition to struct members, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 09/26] qapi: add 'if' condition on struct member, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 18/26] qapi: add conditions to REPLICATION type/commands on the schema, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 06/26] qapi2texi: minor python code simplification, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 01/26] qapi: fix type_seen key error, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 17/26] qapi: add conditions to SPICE type/commands/events on the schema, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 10/26] qapi: add 'if' condition on union variant, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 11/26] qapi: add 'if' condition on alternate variant, Marc-André Lureau, 2017/07/27
- [Qemu-devel] [PATCH 25/26] qapi: make query-cpu-model-expansion depend on s390 or x86, Marc-André Lureau, 2017/07/27