[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.9 26/47] qapi2texi: Generate reference to
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH for-2.9 26/47] qapi2texi: Generate reference to base type members |
Date: |
Wed, 15 Mar 2017 08:30:10 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Eric Blake <address@hidden> writes:
> On 03/13/2017 01:18 AM, Markus Armbruster wrote:
>> The generated documentation doesn't mention object type members
>> inherited from a base type. Fix that.
>>
>> Example change (qemu-qmp-ref.txt):
>>
>> -- Struct: VncServerInfo
>>
>> The network connection information for server
>>
>> Members:
>> 'auth' (optional)
>> authentication method used for the plain (non-websocket) VNC
>> server
>> + The members of 'VncBasicInfo'
>>
>
> Again, will be more useful later in the series when you add hyperlinking.
>
>> Since: 2.1
>>
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>> scripts/qapi2texi.py | 12 ++++++++----
>> 1 file changed, 8 insertions(+), 4 deletions(-)
>>
>
> Reviewed-by: Eric Blake <address@hidden>
>
>> diff --git a/scripts/qapi2texi.py b/scripts/qapi2texi.py
>> index 993b652..7083d0c 100755
>> --- a/scripts/qapi2texi.py
>> +++ b/scripts/qapi2texi.py
>> @@ -143,7 +143,7 @@ def texi_member(member):
>> ' (optional)' if member.optional else '')
>>
>>
>> -def texi_members(doc, what, member_func):
>> +def texi_members(doc, what, base, member_func):
>> """Format the table of members"""
>> items = ''
>> for section in doc.args.itervalues():
>> @@ -152,6 +152,8 @@ def texi_members(doc, what, member_func):
>> else:
>> desc = 'Not documented'
>> items += member_func(section.member) + texi_format(desc) + '\n'
>> + if base:
>> + items += '@item The members of @code{%s}\n' % base.doc_type()
>
> Will this still work for implicit bases?
>
>>
>> @@ -205,11 +207,13 @@ class QAPISchemaGenDocVisitor(qapi.QAPISchemaVisitor):
>> typ = 'Flat Union'
>> else:
>> typ = 'Simple Union'
>> + if base and base.is_implicit():
>> + base = None
>
> Hmm - you just ignore those, such as the anonymous base in CpuInfo. On
> the other hand, CpuInfo documents its base fields explicitly. Are we at
> risk of double-documenting a base member, both explicitly and via its
> named base type?
Actually no.
Doc comments should document exactly the members defined locally. This
includes members of anonymous bases, but not members of named bases. If
you try to document members of named basses, you get your wrist slapped.
For example, if I do
diff --git a/qapi-schema.json b/qapi-schema.json
index 1d7b1cd..4214e97 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -1549,6 +1549,7 @@
#
# @auth: authentication method used for
# the plain (non-websocket) VNC server
+# @family: address family
#
# Since: 2.1
##
I get
qemu/qapi-schema.json:1545: The following documented members are not in the
declaration: family
> At any rate, this patch is an incremental improvement, so:
> Reviewed-by: Eric Blake <address@hidden>
Thanks!
- Re: [Qemu-devel] [PATCH for-2.9 31/47] qapi: Fix detection of doc / expression mismatch, (continued)
- [Qemu-devel] [PATCH for-2.9 41/47] qapi: Factor add_name() calls out of the meta conditional, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 19/47] qapi: Prefer single-quoted strings more consistently, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 14/47] qapi: Prepare for requiring more complete documentation, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 26/47] qapi2texi: Generate reference to base type members, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 46/47] qapi: Make pylint a bit happier, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 27/47] qapi2texi: Generate documentation for variant members, Markus Armbruster, 2017/03/13
- [Qemu-devel] [PATCH for-2.9 17/47] qapi: The #optional tag is redundant, drop, Markus Armbruster, 2017/03/13