mirror of https://github.com/proxmox/mirror_qemu
qapi: Factor out QAPISchemaParser._check_pragma_list_of_str()
Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20210323094025.3569441-17-armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>master
parent
492db12ec3
commit
4a67bd31a4
|
@ -119,6 +119,13 @@ class QAPISchemaParser:
|
||||||
|
|
||||||
return QAPISchemaParser(incl_fname, previously_included, info)
|
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):
|
def _pragma(self, name, value, info):
|
||||||
if name == 'doc-required':
|
if name == 'doc-required':
|
||||||
if not isinstance(value, bool):
|
if not isinstance(value, bool):
|
||||||
|
@ -126,18 +133,10 @@ class QAPISchemaParser:
|
||||||
"pragma 'doc-required' must be boolean")
|
"pragma 'doc-required' must be boolean")
|
||||||
info.pragma.doc_required = value
|
info.pragma.doc_required = value
|
||||||
elif name == 'returns-whitelist':
|
elif name == 'returns-whitelist':
|
||||||
if (not isinstance(value, list)
|
self._check_pragma_list_of_str(name, value, info)
|
||||||
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
|
info.pragma.returns_whitelist = value
|
||||||
elif name == 'name-case-whitelist':
|
elif name == 'name-case-whitelist':
|
||||||
if (not isinstance(value, list)
|
self._check_pragma_list_of_str(name, value, info)
|
||||||
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
|
info.pragma.name_case_whitelist = value
|
||||||
else:
|
else:
|
||||||
raise QAPISemError(info, "unknown pragma '%s'" % name)
|
raise QAPISemError(info, "unknown pragma '%s'" % name)
|
||||||
|
|
Loading…
Reference in New Issue