[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 10/23] qapi/schema: add type narrowing to lookup_type()
From: |
John Snow |
Subject: |
[PATCH v4 10/23] qapi/schema: add type narrowing to lookup_type() |
Date: |
Wed, 13 Mar 2024 00:41:14 -0400 |
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>
---
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 eeecdda1b58..b157a3b2bd8 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 v4 22/23] qapi/schema: turn on mypy strictness, (continued)
- [PATCH v4 22/23] qapi/schema: turn on mypy strictness, John Snow, 2024/03/13
- [PATCH v4 19/23] qapi/parser: demote QAPIExpression to Dict[str, Any], John Snow, 2024/03/13
- [PATCH v4 15/23] qapi/schema: add _check_complete flag, John Snow, 2024/03/13
- [PATCH v4 11/23] qapi/schema: assert resolve_type has 'info' and 'what' args on error, John Snow, 2024/03/13
- [PATCH v4 20/23] qapi/parser.py: assert member.info is present in connect_member, John Snow, 2024/03/13
- [PATCH v4 21/23] qapi/schema: add type hints, John Snow, 2024/03/13
- [PATCH v4 08/23] qapi/schema: make c_type() and json_type() abstract methods, John Snow, 2024/03/13
- [PATCH v4 06/23] qapi/schema: declare type for QAPISchemaObjectTypeMember.type, John Snow, 2024/03/13
- [PATCH v4 10/23] qapi/schema: add type narrowing to lookup_type(),
John Snow <=
- [PATCH v4 23/23] qapi/schema: remove unnecessary asserts, John Snow, 2024/03/13
- Re: [PATCH v4 00/23] qapi: statically type schema.py, Markus Armbruster, 2024/03/14