qapi: Improve reporting of missing documentation comment

Have check_exprs() check this later, so the error message gains an "in
definition line".  Tweak the error message.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-25-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2019-09-27 15:46:37 +02:00
parent 13b3997f14
commit f63326985a
2 changed files with 10 additions and 11 deletions

View File

@ -933,10 +933,6 @@ def check_exprs(exprs):
if 'include' in expr:
continue
if not doc and doc_required:
raise QAPISemError(info,
"definition missing documentation comment")
if 'enum' in expr:
meta = 'enum'
elif 'union' in expr:
@ -957,9 +953,14 @@ def check_exprs(exprs):
info.set_defn(meta, name)
check_defn_name_str(name, info, meta)
if doc and doc.symbol != name:
raise QAPISemError(
info, "documentation comment is for '%s'" % doc.symbol)
if doc:
if doc.symbol != name:
raise QAPISemError(
info, "documentation comment is for '%s'" % doc.symbol)
doc.check_expr(expr)
elif doc_required:
raise QAPISemError(info,
"documentation comment required")
if meta == 'enum':
check_keys(expr, info, meta,
@ -1004,9 +1005,6 @@ def check_exprs(exprs):
check_if(expr, info, meta)
check_flags(expr, info)
if doc:
doc.check_expr(expr)
return exprs

View File

@ -1 +1,2 @@
tests/qapi-schema/doc-missing.json:5: definition missing documentation comment
tests/qapi-schema/doc-missing.json: In command 'undocumented':
tests/qapi-schema/doc-missing.json:5: documentation comment required