Skip to content

Commit

Permalink
qapi/schema: assert info is present when necessary
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
jnsnow authored and Markus Armbruster committed Apr 24, 2024
1 parent 8c91329 commit 8b9e7fd
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions scripts/qapi/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -751,6 +751,7 @@ def describe(self, info):
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)
Expand Down Expand Up @@ -841,6 +842,7 @@ def __init__(self, name, info, doc, ifcond, features,
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(
Expand Down

0 comments on commit 8b9e7fd

Please sign in to comment.