[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 14/25] qapi/schema: assert info is present when necessary
From: |
Markus Armbruster |
Subject: |
[PULL 14/25] qapi/schema: assert info is present when necessary |
Date: |
Wed, 24 Apr 2024 10:16:59 +0200 |
From: John Snow <jsnow@redhat.com>
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 | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 087c6e9366..173e27d9e2 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -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)
@@ -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(
--
2.44.0
- [PULL 00/25] QAPI patches patches for 2024-04-24, Markus Armbruster, 2024/04/24
- [PULL 01/25] qapi/parser: fix typo - self.returns.info => self.errors.info, Markus Armbruster, 2024/04/24
- [PULL 09/25] qapi/schema: adjust type narrowing for mypy's benefit, Markus Armbruster, 2024/04/24
- [PULL 14/25] qapi/schema: assert info is present when necessary,
Markus Armbruster <=
- [PULL 22/25] qapi/schema: turn on mypy strictness, Markus Armbruster, 2024/04/24
- [PULL 13/25] qapi/schema: fix QAPISchemaArrayType.check's call to resolve_type, Markus Armbruster, 2024/04/24
- [PULL 10/25] qapi/schema: add type narrowing to lookup_type(), Markus Armbruster, 2024/04/24
- [PULL 16/25] qapi/schema: Don't initialize "members" with `None`, Markus Armbruster, 2024/04/24
- [PULL 23/25] qapi/schema: remove unnecessary asserts, Markus Armbruster, 2024/04/24
- [PULL 02/25] qapi/parser: shush up pylint, Markus Armbruster, 2024/04/24
- [PULL 15/25] qapi/schema: add _check_complete flag, Markus Armbruster, 2024/04/24
- [PULL 17/25] qapi/schema: fix typing for QAPISchemaVariants.tag_member, Markus Armbruster, 2024/04/24
- [PULL 03/25] qapi: sort pylint suppressions, Markus Armbruster, 2024/04/24
- [PULL 06/25] qapi/schema: declare type for QAPISchemaObjectTypeMember.type, Markus Armbruster, 2024/04/24