qapi: Generate in source order
The generators' conversion to visitors (merge commit 9e72681d16)
changed the processing order of entities from source order to
alphabetical order. The next commit needs source order, so change it
back.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20180211093607.27351-17-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
committed by
Eric Blake
parent
97f0249474
commit
8a84767cc4
@@ -1474,6 +1474,7 @@ class QAPISchema(object):
|
||||
parser = QAPISchemaParser(open(fname, 'r'))
|
||||
exprs = check_exprs(parser.exprs)
|
||||
self.docs = parser.docs
|
||||
self._entity_list = []
|
||||
self._entity_dict = {}
|
||||
self._predefining = True
|
||||
self._def_predefineds()
|
||||
@@ -1485,6 +1486,7 @@ class QAPISchema(object):
|
||||
# Only the predefined types are allowed to not have info
|
||||
assert ent.info or self._predefining
|
||||
assert ent.name not in self._entity_dict
|
||||
self._entity_list.append(ent)
|
||||
self._entity_dict[ent.name] = ent
|
||||
|
||||
def lookup_entity(self, name, typ=None):
|
||||
@@ -1683,12 +1685,12 @@ class QAPISchema(object):
|
||||
assert False
|
||||
|
||||
def check(self):
|
||||
for (name, ent) in sorted(self._entity_dict.items()):
|
||||
for ent in self._entity_list:
|
||||
ent.check(self)
|
||||
|
||||
def visit(self, visitor):
|
||||
visitor.visit_begin(self)
|
||||
for (name, entity) in sorted(self._entity_dict.items()):
|
||||
for entity in self._entity_list:
|
||||
if visitor.visit_needed(entity):
|
||||
entity.visit(visitor)
|
||||
visitor.visit_end()
|
||||
|
||||
Reference in New Issue
Block a user