[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 11/34] qapi/schema: Clean up around QAPISchemaEntity.conne
From: |
Marc-André Lureau |
Subject: |
Re: [PATCH v3 11/34] qapi/schema: Clean up around QAPISchemaEntity.connect_doc() |
Date: |
Mon, 16 Mar 2020 17:47:56 +0100 |
On Sun, Mar 15, 2020 at 4:23 PM Markus Armbruster <address@hidden> wrote:
>
> QAPISchemaEntity calls doc.connect_feature() in .check(). Improper
> since commit ee1e6a1f6c8 split .connect_doc() off .check(). Move the
> call. Requires making the children call super().connect_doc() as they
> should.
>
> Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
> ---
> scripts/qapi/schema.py | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
> index d759308b4e..2a2b495987 100644
> --- a/scripts/qapi/schema.py
> +++ b/scripts/qapi/schema.py
> @@ -53,13 +53,13 @@ class QAPISchemaEntity:
> seen = {}
> for f in self.features:
> f.check_clash(self.info, seen)
> - if self.doc:
> - self.doc.connect_feature(f)
> -
> self._checked = True
>
> def connect_doc(self, doc=None):
> - pass
> + doc = doc or self.doc
> + if doc:
> + for f in self.features:
> + doc.connect_feature(f)
>
> def check_doc(self):
> if self.doc:
> @@ -250,6 +250,7 @@ class QAPISchemaEnumType(QAPISchemaType):
> m.check_clash(self.info, seen)
>
> def connect_doc(self, doc=None):
> + super().connect_doc(doc)
> doc = doc or self.doc
> if doc:
> for m in self.members:
> @@ -392,6 +393,7 @@ class QAPISchemaObjectType(QAPISchemaType):
> m.check_clash(info, seen)
>
> def connect_doc(self, doc=None):
> + super().connect_doc(doc)
> doc = doc or self.doc
> if doc:
> if self.base and self.base.is_implicit():
> @@ -667,6 +669,7 @@ class QAPISchemaAlternateType(QAPISchemaType):
> types_seen[qt] = v.name
>
> def connect_doc(self, doc=None):
> + super().connect_doc(doc)
> doc = doc or self.doc
> if doc:
> for v in self.variants.variants:
> @@ -733,6 +736,7 @@ class QAPISchemaCommand(QAPISchemaEntity):
> % self.ret_type.describe())
>
> def connect_doc(self, doc=None):
> + super().connect_doc(doc)
> doc = doc or self.doc
> if doc:
> if self.arg_type and self.arg_type.is_implicit():
> @@ -775,6 +779,7 @@ class QAPISchemaEvent(QAPISchemaEntity):
> % self.arg_type.describe())
>
> def connect_doc(self, doc=None):
> + super().connect_doc(doc)
> doc = doc or self.doc
> if doc:
> if self.arg_type and self.arg_type.is_implicit():
> --
> 2.21.1
>
>
--
Marc-André Lureau
- Re: [PATCH v3 21/34] qapi: Inline do_qmp_dispatch() into qmp_dispatch(), (continued)
- [PATCH v3 08/34] tests/test-qmp-event: Simplify test data setup, Markus Armbruster, 2020/03/15
- [PATCH v3 04/34] docs/devel/qapi-code-gen: Document 'features' introspection, Markus Armbruster, 2020/03/15
- [PATCH v3 30/34] qapi: Implement deprecated-output=hide for QMP event data, Markus Armbruster, 2020/03/15
- [PATCH v3 33/34] qapi: Implement deprecated-input=reject for QMP command arguments, Markus Armbruster, 2020/03/15
- [PATCH v3 07/34] tests/test-qmp-cmds: Simplify test data setup, Markus Armbruster, 2020/03/15
- [PATCH v3 11/34] qapi/schema: Clean up around QAPISchemaEntity.connect_doc(), Markus Armbruster, 2020/03/15
- [PATCH v3 01/34] qemu-doc: Belatedly document QMP command arg & result deprecation, Markus Armbruster, 2020/03/15
- [PATCH v3 17/34] qapi/schema: Reorder classes so related ones are together, Markus Armbruster, 2020/03/15
- [PATCH v3 19/34] qapi/schema: Call QAPIDoc.connect_member() in just one place, Markus Armbruster, 2020/03/15
- [PATCH v3 22/34] qapi: Simplify how qmp_dispatch() deals with QCO_NO_SUCCESS_RESP, Markus Armbruster, 2020/03/15