[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 10/25] qapi/schema: add type narrowing to lookup_type()
From: |
Markus Armbruster |
Subject: |
[PATCH v5 10/25] qapi/schema: add type narrowing to lookup_type() |
Date: |
Fri, 15 Mar 2024 16:22:46 +0100 |
From: John Snow <jsnow@redhat.com>
This function is a bit hard to type as-is; mypy needs some assertions to
assist with the type narrowing.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
scripts/qapi/schema.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index e44802369d..1034825415 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -989,7 +989,9 @@ def lookup_entity(self, name, typ=None):
return ent
def lookup_type(self, name):
- return self.lookup_entity(name, QAPISchemaType)
+ typ = self.lookup_entity(name, QAPISchemaType)
+ assert typ is None or isinstance(typ, QAPISchemaType)
+ return typ
def resolve_type(self, name, info, what):
typ = self.lookup_type(name)
--
2.44.0
- [PATCH v5 00/25] qapi: statically type schema.py, Markus Armbruster, 2024/03/15
- [PATCH v5 04/25] qapi/schema: add pylint suppressions, Markus Armbruster, 2024/03/15
- [PATCH v5 06/25] qapi/schema: declare type for QAPISchemaObjectTypeMember.type, Markus Armbruster, 2024/03/15
- [PATCH v5 03/25] qapi: sort pylint suppressions, Markus Armbruster, 2024/03/15
- [PATCH v5 13/25] qapi/schema: fix QAPISchemaArrayType.check's call to resolve_type, Markus Armbruster, 2024/03/15
- [PATCH v5 10/25] qapi/schema: add type narrowing to lookup_type(),
Markus Armbruster <=
- [PATCH v5 09/25] qapi/schema: adjust type narrowing for mypy's benefit, Markus Armbruster, 2024/03/15
- [PATCH v5 16/25] qapi/schema: Don't initialize "members" with `None`, Markus Armbruster, 2024/03/15
- [PATCH v5 14/25] qapi/schema: assert info is present when necessary, Markus Armbruster, 2024/03/15
- [PATCH v5 12/25] qapi: Assert built-in types exist, Markus Armbruster, 2024/03/15
- [PATCH v5 20/25] qapi/parser.py: assert member.info is present in connect_member, Markus Armbruster, 2024/03/15
- [PATCH v5 22/25] qapi/schema: turn on mypy strictness, Markus Armbruster, 2024/03/15
- [PATCH v5 15/25] qapi/schema: add _check_complete flag, Markus Armbruster, 2024/03/15
- [PATCH v5 19/25] qapi/parser: demote QAPIExpression to Dict[str, Any], Markus Armbruster, 2024/03/15
- [PATCH v5 08/25] qapi/schema: make c_type() and json_type() abstract methods, Markus Armbruster, 2024/03/15