From: Markus Armbruster Date: Fri, 15 Mar 2024 15:22:48 +0000 (+0100) Subject: qapi: Assert built-in types exist X-Git-Tag: v9.1.0-rc0~140^2~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7191400a44c4eef49d2af356e0744bfb5d273046;p=thirdparty%2Fqemu.git 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 Message-ID: <20240315152301.3621858-13-armbru@redhat.com> Reviewed-by: John Snow --- diff --git a/scripts/qapi/introspect.py b/scripts/qapi/introspect.py index 67c7d89aae0..4679b1bc2c1 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)