]> git.proxmox.com Git - mirror_qemu.git/commitdiff
qapi/schema: assert info is present when necessary
authorJohn Snow <jsnow@redhat.com>
Fri, 15 Mar 2024 15:22:50 +0000 (16:22 +0100)
committerMarkus Armbruster <armbru@redhat.com>
Wed, 24 Apr 2024 08:03:54 +0000 (10:03 +0200)
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>

scripts/qapi/schema.py

index 087c6e93661b0838f5147c8a803ed08e36a44f03..173e27d9e21d3ba56ae4e8d869d834f85b1b1cf1 100644 (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(