mirror of https://github.com/xemu-project/xemu.git
qapi: Eliminate QAPISchemaObjectType.check() variable members
We can use seen.values() instead if we make it an OrderedDict. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <1446559499-26984-5-git-send-email-armbru@redhat.com> Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1447836791-369-9-git-send-email-eblake@redhat.com>
This commit is contained in:
parent
08683353fc
commit
23a4b2c6f1
|
@ -977,26 +977,22 @@ class QAPISchemaObjectType(QAPISchemaType):
|
||||||
if self.members:
|
if self.members:
|
||||||
return
|
return
|
||||||
self.members = False # mark as being checked
|
self.members = False # mark as being checked
|
||||||
|
seen = OrderedDict()
|
||||||
if self._base_name:
|
if self._base_name:
|
||||||
self.base = schema.lookup_type(self._base_name)
|
self.base = schema.lookup_type(self._base_name)
|
||||||
assert isinstance(self.base, QAPISchemaObjectType)
|
assert isinstance(self.base, QAPISchemaObjectType)
|
||||||
assert not self.base.variants # not implemented
|
assert not self.base.variants # not implemented
|
||||||
self.base.check(schema)
|
self.base.check(schema)
|
||||||
members = list(self.base.members)
|
for m in self.base.members:
|
||||||
else:
|
assert m.name not in seen
|
||||||
members = []
|
seen[m.name] = m
|
||||||
seen = {}
|
|
||||||
for m in members:
|
|
||||||
assert m.name not in seen
|
|
||||||
seen[m.name] = m
|
|
||||||
for m in self.local_members:
|
for m in self.local_members:
|
||||||
m.check(schema)
|
m.check(schema)
|
||||||
assert m.name not in seen
|
assert m.name not in seen
|
||||||
seen[m.name] = m
|
seen[m.name] = m
|
||||||
members.append(m)
|
|
||||||
if self.variants:
|
if self.variants:
|
||||||
self.variants.check(schema, seen)
|
self.variants.check(schema, seen)
|
||||||
self.members = members
|
self.members = seen.values()
|
||||||
|
|
||||||
def is_implicit(self):
|
def is_implicit(self):
|
||||||
# See QAPISchema._make_implicit_object_type()
|
# See QAPISchema._make_implicit_object_type()
|
||||||
|
|
Loading…
Reference in New Issue