Browse Source

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>
pull/265/head
John Snow 2 years ago
committed by Markus Armbruster
parent
commit
8b9e7fd3b3
  1. 2
      scripts/qapi/schema.py

2
scripts/qapi/schema.py

@ -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(

Loading…
Cancel
Save