diff options
| author | Peter Maydell | 2021-03-23 23:28:58 +0100 |
|---|---|---|
| committer | Peter Maydell | 2021-03-23 23:28:58 +0100 |
| commit | 266469947161aa10b1d36843580d369d5aa38589 (patch) | |
| tree | a7c31491b7f1bd3540822c7350308ad44ece7ad9 /scripts/qapi/parser.py | |
| parent | Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210323'... (diff) | |
| parent | block: Remove monitor command block_passwd (diff) | |
| download | qemu-266469947161aa10b1d36843580d369d5aa38589.tar.gz qemu-266469947161aa10b1d36843580d369d5aa38589.tar.xz qemu-266469947161aa10b1d36843580d369d5aa38589.zip | |
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2021-03-23' into staging
QAPI patches patches for 2021-03-23
# gpg: Signature made Tue 23 Mar 2021 21:37:53 GMT
# 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-03-23: (29 commits)
block: Remove monitor command block_passwd
qapi: Enforce union and alternate branch naming rules
qapi: Enforce enum member naming rules
qapi: Enforce struct member naming rules
tests/qapi-schema: Switch member name clash test to struct
qapi: Enforce command naming rules
qapi: Enforce feature naming rules
qapi: Prepare for rejecting underscore in command and member names
tests-qmp-cmds: Drop unused and incorrect qmp_TestIfCmd()
qapi/pragma: Streamline comments on member-name-exceptions
qapi: Rename pragma *-whitelist to *-exceptions
tests/qapi-schema: Rename returns-whitelist to returns-bad-type
tests/qapi-schema: Rename pragma-*-crap to pragma-value-not-*
qapi: Factor out QAPISchemaParser._check_pragma_list_of_str()
tests/qapi-schema: Rename redefined-builtin to redefined-predefined
qapi: Enforce type naming rules
qapi: Enforce event naming rules
qapi: Consistently permit any case in downstream prefixes
qapi: Move uppercase rejection to check_name_lower()
qapi: Rework name checking in preparation of stricter checking
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'scripts/qapi/parser.py')
| -rw-r--r-- | scripts/qapi/parser.py | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py index 116afe549a..58267c3db9 100644 --- a/scripts/qapi/parser.py +++ b/scripts/qapi/parser.py @@ -119,26 +119,28 @@ class QAPISchemaParser: return QAPISchemaParser(incl_fname, previously_included, info) + def _check_pragma_list_of_str(self, name, value, info): + if (not isinstance(value, list) + or any([not isinstance(elt, str) for elt in value])): + raise QAPISemError( + info, + "pragma %s must be a list of strings" % name) + def _pragma(self, name, value, info): if name == 'doc-required': if not isinstance(value, bool): raise QAPISemError(info, "pragma 'doc-required' must be boolean") info.pragma.doc_required = value - elif name == 'returns-whitelist': - if (not isinstance(value, list) - or any([not isinstance(elt, str) for elt in value])): - raise QAPISemError( - info, - "pragma returns-whitelist must be a list of strings") - info.pragma.returns_whitelist = value - elif name == 'name-case-whitelist': - if (not isinstance(value, list) - or any([not isinstance(elt, str) for elt in value])): - raise QAPISemError( - info, - "pragma name-case-whitelist must be a list of strings") - info.pragma.name_case_whitelist = value + elif name == 'command-name-exceptions': + self._check_pragma_list_of_str(name, value, info) + info.pragma.command_name_exceptions = value + elif name == 'command-returns-exceptions': + self._check_pragma_list_of_str(name, value, info) + info.pragma.command_returns_exceptions = value + elif name == 'member-name-exceptions': + self._check_pragma_list_of_str(name, value, info) + info.pragma.member_name_exceptions = value else: raise QAPISemError(info, "unknown pragma '%s'" % name) |
