diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2020-09-08 17:23:31 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2020-09-08 17:23:31 +0100 |
commit | 6779038537360e957dbded830f76b08ef5070161 (patch) | |
tree | 41eadd73f2f30a9993b8306e92433bcb9bd11334 /scripts | |
parent | b95ba83fc56ebfc4b6869f21db0c757c0c191104 (diff) | |
parent | 6b306786cafd6ff939f1c831f0065c136105dca7 (diff) |
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2020-09-08' into staging
QAPI patches patches for 2020-09-08
# gpg: Signature made Tue 08 Sep 2020 07:06:52 BST
# gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-qapi-2020-09-08:
qapi/block-core.json: Fix nbd-server-start docs
qapi: Fix indentation, again
qapi/migration.json: Fix indentation
qapi: Make section headings start a new doc comment block
qapi: Reject section markup in definition documentation
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/qapi/parser.py | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py index abadacbb0e..165925ca72 100644 --- a/scripts/qapi/parser.py +++ b/scripts/qapi/parser.py @@ -52,8 +52,8 @@ class QAPISchemaParser: info = self.info if self.tok == '#': self.reject_expr_doc(cur_doc) - cur_doc = self.get_doc(info) - self.docs.append(cur_doc) + for cur_doc in self.get_doc(info): + self.docs.append(cur_doc) continue expr = self.get_expr(False) @@ -270,7 +270,8 @@ class QAPISchemaParser: raise QAPIParseError( self, "junk after '##' at start of documentation comment") - doc = QAPIDoc(self, info) + docs = [] + cur_doc = QAPIDoc(self, info) self.accept(False) while self.tok == '#': if self.val.startswith('##'): @@ -279,10 +280,20 @@ class QAPISchemaParser: raise QAPIParseError( self, "junk after '##' at end of documentation comment") - doc.end_comment() + cur_doc.end_comment() + docs.append(cur_doc) self.accept() - return doc - doc.append(self.val) + return docs + if self.val.startswith('# ='): + if cur_doc.symbol: + raise QAPIParseError( + self, + "unexpected '=' markup in definition documentation") + if cur_doc.body.text: + cur_doc.end_comment() + docs.append(cur_doc) + cur_doc = QAPIDoc(self, info) + cur_doc.append(self.val) self.accept(False) raise QAPIParseError(self, "documentation comment must end with '##'") @@ -311,7 +322,6 @@ class QAPIDoc: def __init__(self, name=None): # optional section name (argument/member or section name) self.name = name - # the list of lines for this section self.text = '' def append(self, line): |