qapi: Tweak code to match docs/devel/qapi-code-gen.txt
The previous commit made qapi-code-gen.txt define "(top-level) expression" as either "directive" or "definition". The code still uses "expression" when it really means "definition". Tidy up. The previous commit made qapi-code-gen.txt use "object" rather than "dictionary". The code still uses "dictionary". Tidy up. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20190913201349.24332-17-armbru@redhat.com>
This commit is contained in:
parent
b6c37ebaaf
commit
8d40738d2f
@ -103,11 +103,11 @@ class QAPISemError(QAPIError):
|
||||
|
||||
class QAPIDoc(object):
|
||||
"""
|
||||
A documentation comment block, either expression or free-form
|
||||
A documentation comment block, either definition or free-form
|
||||
|
||||
Expression documentation blocks consist of
|
||||
Definition documentation blocks consist of
|
||||
|
||||
* a body section: one line naming the expression, followed by an
|
||||
* a body section: one line naming the definition, followed by an
|
||||
overview (any number of lines)
|
||||
|
||||
* argument sections: a description of each argument (for commands
|
||||
@ -200,9 +200,9 @@ class QAPIDoc(object):
|
||||
Process a line of documentation text in the body section.
|
||||
|
||||
If this a symbol line and it is the section's first line, this
|
||||
is an expression documentation block for that symbol.
|
||||
is a definition documentation block for that symbol.
|
||||
|
||||
If it's an expression documentation block, another symbol line
|
||||
If it's a definition documentation block, another symbol line
|
||||
begins the argument section for the argument named by it, and
|
||||
a section tag begins an additional section. Start that
|
||||
section and append the line to it.
|
||||
@ -220,7 +220,7 @@ class QAPIDoc(object):
|
||||
if not self.symbol:
|
||||
raise QAPIParseError(self._parser, "Invalid name")
|
||||
elif self.symbol:
|
||||
# This is an expression documentation block
|
||||
# This is a definition documentation block
|
||||
if name.startswith('@') and name.endswith(':'):
|
||||
self._append_line = self._append_args_line
|
||||
self._append_args_line(line)
|
||||
@ -428,7 +428,7 @@ class QAPISchemaParser(object):
|
||||
pragma = expr['pragma']
|
||||
if not isinstance(pragma, dict):
|
||||
raise QAPISemError(
|
||||
info, "Value of 'pragma' must be a dictionary")
|
||||
info, "Value of 'pragma' must be an object")
|
||||
for name, value in pragma.items():
|
||||
self._pragma(name, value, info)
|
||||
else:
|
||||
@ -437,7 +437,7 @@ class QAPISchemaParser(object):
|
||||
if cur_doc:
|
||||
if not cur_doc.symbol:
|
||||
raise QAPISemError(
|
||||
cur_doc.info, "Expression documentation required")
|
||||
cur_doc.info, "Definition documentation required")
|
||||
expr_elem['doc'] = cur_doc
|
||||
self.exprs.append(expr_elem)
|
||||
cur_doc = None
|
||||
@ -789,7 +789,7 @@ def check_type(info, source, value,
|
||||
|
||||
if not isinstance(value, OrderedDict):
|
||||
raise QAPISemError(info,
|
||||
"%s should be a dictionary or type name" % source)
|
||||
"%s should be an object or type name" % source)
|
||||
|
||||
# value is a dictionary, check that each member is okay
|
||||
for (key, arg) in value.items():
|
||||
@ -971,8 +971,8 @@ def check_enum(expr, info):
|
||||
"Enum '%s' requires a string for 'prefix'" % name)
|
||||
|
||||
for member in members:
|
||||
source = "dictionary member of enum '%s'" % name
|
||||
check_known_keys(info, source, member, ['name'], ['if'])
|
||||
check_known_keys(info, "member of enum '%s'" % name, member,
|
||||
['name'], ['if'])
|
||||
check_if(member, info)
|
||||
check_name(info, "Member of enum '%s'" % name, member['name'],
|
||||
enum_member=True)
|
||||
@ -1081,7 +1081,7 @@ def check_exprs(exprs):
|
||||
|
||||
if not doc and doc_required:
|
||||
raise QAPISemError(info,
|
||||
"Expression missing documentation comment")
|
||||
"Definition missing documentation comment")
|
||||
|
||||
if 'enum' in expr:
|
||||
meta = 'enum'
|
||||
|
@ -1 +1 @@
|
||||
tests/qapi-schema/args-invalid.json:1: 'data' for command 'foo' should be a dictionary or type name
|
||||
tests/qapi-schema/args-invalid.json:1: 'data' for command 'foo' should be an object or type name
|
||||
|
@ -1 +1 @@
|
||||
tests/qapi-schema/doc-missing.json:5: Expression missing documentation comment
|
||||
tests/qapi-schema/doc-missing.json:5: Definition missing documentation comment
|
||||
|
@ -1 +1 @@
|
||||
tests/qapi-schema/doc-no-symbol.json:3: Expression documentation required
|
||||
tests/qapi-schema/doc-no-symbol.json:3: Definition documentation required
|
||||
|
@ -1,2 +1,2 @@
|
||||
tests/qapi-schema/enum-dict-member-unknown.json:2: Unknown key 'bad-key' in dictionary member of enum 'MyEnum'
|
||||
tests/qapi-schema/enum-dict-member-unknown.json:2: Unknown key 'bad-key' in member of enum 'MyEnum'
|
||||
Valid keys are 'if', 'name'.
|
||||
|
@ -1 +1 @@
|
||||
tests/qapi-schema/pragma-non-dict.json:3: Value of 'pragma' must be a dictionary
|
||||
tests/qapi-schema/pragma-non-dict.json:3: Value of 'pragma' must be an object
|
||||
|
@ -1 +1 @@
|
||||
tests/qapi-schema/struct-data-invalid.json:1: 'data' for struct 'foo' should be a dictionary or type name
|
||||
tests/qapi-schema/struct-data-invalid.json:1: 'data' for struct 'foo' should be an object or type name
|
||||
|
Loading…
Reference in New Issue
Block a user