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:
Markus Armbruster 2015-11-18 01:52:43 -07:00
parent 08683353fc
commit 23a4b2c6f1

View file

@ -977,26 +977,22 @@ def check(self, schema):
if self.members:
return
self.members = False # mark as being checked
seen = OrderedDict()
if self._base_name:
self.base = schema.lookup_type(self._base_name)
assert isinstance(self.base, QAPISchemaObjectType)
assert not self.base.variants # not implemented
self.base.check(schema)
members = list(self.base.members)
else:
members = []
seen = {}
for m in members:
assert m.name not in seen
seen[m.name] = m
for m in self.base.members:
assert m.name not in seen
seen[m.name] = m
for m in self.local_members:
m.check(schema)
assert m.name not in seen
seen[m.name] = m
members.append(m)
if self.variants:
self.variants.check(schema, seen)
self.members = members
self.members = seen.values()
def is_implicit(self):
# See QAPISchema._make_implicit_object_type()