[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC v2 25/47] qapi: Make generators work on sorted s
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH RFC v2 25/47] qapi: Make generators work on sorted schema expressions |
Date: |
Wed, 1 Jul 2015 22:22:13 +0200 |
Order of expressions doesn't matter. QAPISchema().get_exprs() returns
expressions in the order they're parsed.
I'm going to refactor this code. To check refactorings, I want to
diff the generated code, and for that I need to preserve its order.
Since I don't feel like preserving parse order, I'm changing
get_expr() to return the expressions sorted by name. This order will
be trivial to preserve. It also makes the generated code slightly
easier to navigate.
Signed-off-by: Markus Armbruster <address@hidden>
---
scripts/qapi.py | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/scripts/qapi.py b/scripts/qapi.py
index cac7ab5..20ffdaf 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -1017,7 +1017,14 @@ class QAPISchema(object):
self.check()
def get_exprs(self):
- return [expr_elem['expr'] for expr_elem in self.exprs]
+ def expr_name(expr):
+ name = expr.get('enum') or expr.get('union') \
+ or expr.get('alternate') or expr.get('struct') \
+ or expr.get('command') or expr.get('event')
+ assert name
+ return name
+ return sorted([expr_elem['expr'] for expr_elem in self.exprs],
+ key=expr_name)
def _def_entity(self, ent):
assert ent.name not in self.entity_dict
--
1.9.3
- [Qemu-devel] [PATCH RFC v2 16/47] qapi-commands: Fix gen_err_check(e) for e and e != 'local_err', (continued)
[Qemu-devel] [PATCH RFC v2 25/47] qapi: Make generators work on sorted schema expressions,
Markus Armbruster <=
[Qemu-devel] [PATCH RFC v2 15/47] qapi: Fix to reject union command arguments, Markus Armbruster, 2015/07/01
[Qemu-devel] [PATCH RFC v2 20/47] qapi: Rename class QAPISchema to QAPISchemaParser, Markus Armbruster, 2015/07/01
[Qemu-devel] [PATCH RFC v2 18/47] qapi-commands: Don't feed output of mcgen() to mcgen() again, Markus Armbruster, 2015/07/01
[Qemu-devel] [PATCH RFC v2 08/47] qapi-visit: Fix generated code when schema has forward refs, Markus Armbruster, 2015/07/01