aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2020-03-17 12:54:44 +0100
committerMarkus Armbruster <armbru@redhat.com>2020-03-17 21:25:47 +0100
commit645178c0697fb0a7805c090745de9925d935cd1b (patch)
treebb2a9de279fb3a4e2b2d12c7c1686923104f8a5d
parent5858fd1a023f434f30136bdb2b617834561784bd (diff)
downloadqemu-645178c0697fb0a7805c090745de9925d935cd1b.zip
qemu-645178c0697fb0a7805c090745de9925d935cd1b.tar.gz
qemu-645178c0697fb0a7805c090745de9925d935cd1b.tar.bz2
qapi/schema: Call QAPIDoc.connect_member() in just one place
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 <armbru@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20200317115459.31821-20-armbru@redhat.com>
-rw-r--r--scripts/qapi/schema.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 033c84c..59e1f5a 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