It is bad that same key was specified twice, especially when a union have two branches with same condition. This patch can prevent it.
Signed-off-by: Wenchao Xia <xiaw...@linux.vnet.ibm.com> --- scripts/qapi.py | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/scripts/qapi.py b/scripts/qapi.py index bd81f06..3732fe1 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -116,6 +116,8 @@ class QAPISchema: if self.tok != ':': raise QAPISchemaError(self, 'Expected ":"') self.accept() + if key in expr: + raise QAPISchemaError(self, 'Duplicate key "%s"' % key) expr[key] = self.get_expr(True) if self.tok == '}': self.accept() -- 1.7.1