diff options
author | Peter Maydell | 2021-09-04 20:21:19 +0200 |
---|---|---|
committer | Peter Maydell | 2021-09-04 20:21:19 +0200 |
commit | 31ebff513fad11f315377f6b07447169be8d9f86 (patch) | |
tree | d95b132eee4136110e5f8edb3ae90c7065c8829b /scripts/qapi/schema.py | |
parent | Merge remote-tracking branch 'remotes/stsquad/tags/pull-for-6.2-020921-1' int... (diff) | |
parent | qapi: Tweak error messages for unknown / conflicting 'if' keys (diff) | |
download | qemu-31ebff513fad11f315377f6b07447169be8d9f86.tar.gz qemu-31ebff513fad11f315377f6b07447169be8d9f86.tar.xz qemu-31ebff513fad11f315377f6b07447169be8d9f86.zip |
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2021-09-03' into staging
QAPI patches patches for 2021-09-03
# gpg: Signature made Fri 03 Sep 2021 16:20:49 BST
# gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg: aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* remotes/armbru/tags/pull-qapi-2021-09-03:
qapi: Tweak error messages for unknown / conflicting 'if' keys
qapi: Tweak error messages for missing / conflicting meta-type
tests/qapi-schema: Hide OrderedDict in test output
qapi: Use re.fullmatch() where appropriate
qapi: Use "not COND" instead of "!COND" for generated documentation
qapi: Avoid redundant parens in code generated for conditionals
qapi: Factor common recursion out of cgen_ifcond(), docgen_ifcond()
qapi: Fix C code generation for 'if'
tests/qapi-schema: Demonstrate broken C code for 'if'
tests/qapi-schema: Correct two 'if' conditionals
qapi: Simplify how QAPISchemaIfCond represents "no condition"
qapi: Simplify QAPISchemaIfCond's interface for generating C
qapi: Set boolean value correctly in examples
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'scripts/qapi/schema.py')
-rw-r--r-- | scripts/qapi/schema.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py index 229d24fce9..3d72c7dfc9 100644 --- a/scripts/qapi/schema.py +++ b/scripts/qapi/schema.py @@ -24,6 +24,8 @@ from .common import ( c_name, cgen_ifcond, docgen_ifcond, + gen_endif, + gen_if, ) from .error import QAPIError, QAPISemError, QAPISourceError from .expr import check_exprs @@ -32,11 +34,17 @@ from .parser import QAPISchemaParser class QAPISchemaIfCond: def __init__(self, ifcond=None): - self.ifcond = ifcond or {} + self.ifcond = ifcond - def cgen(self): + def _cgen(self): return cgen_ifcond(self.ifcond) + def gen_if(self): + return gen_if(self._cgen()) + + def gen_endif(self): + return gen_endif(self._cgen()) + def docgen(self): return docgen_ifcond(self.ifcond) |