diff options
author | Markus Armbruster <armbru@redhat.com> | 2024-03-15 16:22:48 +0100 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2024-04-24 10:03:54 +0200 |
commit | 7191400a44c4eef49d2af356e0744bfb5d273046 (patch) | |
tree | b975a3d5095657396b1383109cdd0c356f37283f | |
parent | 802a3e3f74fa0dccf5f2e2198647e5fc15af8c5f (diff) | |
download | qemu-7191400a44c4eef49d2af356e0744bfb5d273046.zip qemu-7191400a44c4eef49d2af356e0744bfb5d273046.tar.gz qemu-7191400a44c4eef49d2af356e0744bfb5d273046.tar.bz2 |
qapi: Assert built-in types exist
QAPISchema.lookup_type('FOO') returns a QAPISchemaType when type 'FOO'
exists, else None. It won't return None for built-in types like
'int'.
Since mypy can't see that, it'll complain that we assign the
Optional[QAPISchemaType] returned by .lookup_type() to QAPISchemaType
variables.
Add assertions to help it over the hump.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240315152301.3621858-13-armbru@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
-rw-r--r-- | scripts/qapi/introspect.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/scripts/qapi/introspect.py b/scripts/qapi/introspect.py index 67c7d89..4679b1b 100644 --- a/scripts/qapi/introspect.py +++ b/scripts/qapi/introspect.py @@ -227,10 +227,14 @@ const QLitObject %(c_name)s = %(c_string)s; # Map the various integer types to plain int if typ.json_type() == 'int': - typ = self._schema.lookup_type('int') + type_int = self._schema.lookup_type('int') + assert type_int + typ = type_int elif (isinstance(typ, QAPISchemaArrayType) and typ.element_type.json_type() == 'int'): - typ = self._schema.lookup_type('intList') + type_intList = self._schema.lookup_type('intList') + assert type_intList + typ = type_intList # Add type to work queue if new if typ not in self._used_types: self._used_types.append(typ) |