qapi/schema: assert info is present when necessary

QAPISchemaInfo arguments can often be None because built-in definitions
don't have such information.  The type hint can only be
Optional[QAPISchemaInfo] then.  But, mypy gets upset about all the
places where we exploit that it can't actually be None there.  Add
assertions that will help mypy over the hump, to enable adding type
hints in a forthcoming commit.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240315152301.3621858-15-armbru@redhat.com>
This commit is contained in:
John Snow 2024-03-15 16:22:50 +01:00 committed by Markus Armbruster
parent 8c91329ff0
commit 8b9e7fd3b3
1 changed files with 2 additions and 0 deletions

View File

@ -751,6 +751,7 @@ class QAPISchemaMember:
else:
assert False
assert info is not None
if defined_in != info.defn_name:
return "%s '%s' of %s '%s'" % (role, self.name, meta, defined_in)
return "%s '%s'" % (role, self.name)
@ -841,6 +842,7 @@ class QAPISchemaCommand(QAPISchemaDefinition):
self.coroutine = coroutine
def check(self, schema):
assert self.info is not None
super().check(schema)
if self._arg_type_name:
arg_type = schema.resolve_type(