[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 20/30] qapi/schema: Call QAPIDoc.connect_member() in just one plac
From: |
Markus Armbruster |
Subject: |
[PULL 20/30] qapi/schema: Call QAPIDoc.connect_member() in just one place |
Date: |
Tue, 17 Mar 2020 22:01:05 +0100 |
The .connect_doc() of classes that have QAPISchemaMember connect them
to their documentation. Change them to delegate the actual work to
new QAPISchemaMember.connect_doc(). Matches the .connect_doc() that
already exist.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
---
scripts/qapi/schema.py | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 033c84c4a0..59e1f5a395 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -252,9 +252,8 @@ class QAPISchemaEnumType(QAPISchemaType):
def connect_doc(self, doc=None):
super().connect_doc(doc)
doc = doc or self.doc
- if doc:
- for m in self.members:
- doc.connect_member(m)
+ for m in self.members:
+ m.connect_doc(doc)
def is_implicit(self):
# See QAPISchema._make_implicit_enum_type() and ._def_predefineds()
@@ -396,11 +395,10 @@ class QAPISchemaObjectType(QAPISchemaType):
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():
- self.base.connect_doc(doc)
- for m in self.local_members:
- doc.connect_member(m)
+ if self.base and self.base.is_implicit():
+ self.base.connect_doc(doc)
+ for m in self.local_members:
+ m.connect_doc(doc)
@property
def ifcond(self):
@@ -496,9 +494,8 @@ class QAPISchemaAlternateType(QAPISchemaType):
def connect_doc(self, doc=None):
super().connect_doc(doc)
doc = doc or self.doc
- if doc:
- for v in self.variants.variants:
- doc.connect_member(v)
+ for v in self.variants.variants:
+ v.connect_doc(doc)
def c_type(self):
return c_name(self.name) + pointer_suffix
@@ -627,6 +624,10 @@ class QAPISchemaMember:
% (self.describe(info), seen[cname].describe(info)))
seen[cname] = self
+ def connect_doc(self, doc):
+ if doc:
+ doc.connect_member(self)
+
def describe(self, info):
role = self.role
defined_in = self.defined_in
--
2.21.1
- [PULL 00/30] QAPI patches for 2020-03-17, Markus Armbruster, 2020/03/17
- [PULL 02/30] qemu-doc: Belatedly document QMP command arg & result deprecation, Markus Armbruster, 2020/03/17
- [PULL 11/30] tests/test-qmp-event: Check event is actually emitted, Markus Armbruster, 2020/03/17
- [PULL 01/30] docs/devel/qapi-code-gen: Fix typo in grammar, Markus Armbruster, 2020/03/17
- [PULL 20/30] qapi/schema: Call QAPIDoc.connect_member() in just one place,
Markus Armbruster <=
- [PULL 07/30] tests/test-qmp-cmds: Check responses more thoroughly, Markus Armbruster, 2020/03/17
- [PULL 10/30] tests/test-qmp-event: Use qobject_is_equal(), Markus Armbruster, 2020/03/17
- [PULL 04/30] docs/devel/qapi-code-gen: Clarify allow-oob introspection, Markus Armbruster, 2020/03/17
- [PULL 06/30] tests/test-qmp-cmds: Factor out qmp_dispatch() test helpers, Markus Armbruster, 2020/03/17
- [PULL 05/30] docs/devel/qapi-code-gen: Document 'features' introspection, Markus Armbruster, 2020/03/17
- [PULL 23/30] qapi: Simplify how qmp_dispatch() deals with QCO_NO_SUCCESS_RESP, Markus Armbruster, 2020/03/17
- [PULL 30/30] net: Track netdevs in NetClientState rather than QemuOpt, Markus Armbruster, 2020/03/17
- [PULL 08/30] tests/test-qmp-cmds: Simplify test data setup, Markus Armbruster, 2020/03/17
- [PULL 24/30] qapi: Simplify how qmp_dispatch() gets the request ID, Markus Armbruster, 2020/03/17
- [PULL 12/30] qapi/schema: Clean up around QAPISchemaEntity.connect_doc(), Markus Armbruster, 2020/03/17