qapi/expr.py: Add assertion for union type 'check_dict'

mypy isn't fond of allowing you to check for bool membership in a
collection of str elements. Guard this lookup for precisely when we were
given a name.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20210421182032.3521476-6-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
John Snow 2021-04-21 14:20:20 -04:00 committed by Markus Armbruster
parent 59b5556ce8
commit b66c62a2d3

View File

@ -194,7 +194,9 @@ def check_type(value, info, source,
raise QAPISemError(info, raise QAPISemError(info,
"%s should be an object or type name" % source) "%s should be an object or type name" % source)
permissive = allow_dict in info.pragma.member_name_exceptions permissive = False
if isinstance(allow_dict, str):
permissive = allow_dict in info.pragma.member_name_exceptions
# value is a dictionary, check that each member is okay # value is a dictionary, check that each member is okay
for (key, arg) in value.items(): for (key, arg) in value.items():