[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 08/25] qapi/schema.py: Allow alternate_type to assert
From: |
John Snow |
Subject: |
[PATCH 08/25] qapi/schema.py: Allow alternate_type to assert |
Date: |
Tue, 22 Sep 2020 18:44:44 -0400 |
It is generally nicer to just let things fail, because it makes the
static type hints less infected with Optional[T], where a future
programmer using the library has to wonder what that means.
Let errors be errors.
Signed-off-by: John Snow <jsnow@redhat.com>
---
scripts/qapi/schema.py | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 15ff441660..a84d8549a4 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -199,7 +199,7 @@ def alternate_qtype(self):
'boolean': 'QTYPE_QBOOL',
'object': 'QTYPE_QDICT'
}
- return json2qtype.get(self.json_type())
+ return json2qtype[self.json_type()]
def doc_type(self):
if self.is_implicit():
@@ -480,8 +480,9 @@ def check(self, schema):
types_seen = {}
for v in self.variants.variants:
v.check_clash(self.info, seen)
- qtype = v.type.alternate_qtype()
- if not qtype:
+ try:
+ qtype = v.type.alternate_qtype()
+ except KeyError:
raise QAPISemError(
self.info,
"%s cannot use %s"
--
2.26.2
- [PATCH 04/25] qapi/schema.py: constrain QAPISchemaObjectType base type, (continued)
- [PATCH 04/25] qapi/schema.py: constrain QAPISchemaObjectType base type, John Snow, 2020/09/22
- [PATCH 06/25] qapi/schema.py: constrain QAPISchemaEvent arg_type type, John Snow, 2020/09/22
- [PATCH 05/25] qapi/schema.py: constrain QAPISchemaObjectTypeMember arg_type type, John Snow, 2020/09/22
- [PATCH 09/25] qapi/schema.py: remove superfluous assert, John Snow, 2020/09/22
- [PATCH 07/25] qapi/schema.py: constrain tag_member type, John Snow, 2020/09/22
- [PATCH 14/25] qapi/schema.py: Assert variants of an object are also objects, John Snow, 2020/09/22
- [PATCH 10/25] qapi/schema.py: Add assertion to ifcond property, John Snow, 2020/09/22
- [PATCH 21/25] qapi/schema.py: disable pylint line limit, John Snow, 2020/09/22
- [PATCH 12/25] qapi/schema.py: remove 'and' from non-bool rvalue expressions, John Snow, 2020/09/22
- [PATCH 11/25] qapi/schema.py: Constrain type of QAPISchemaObjectType members field, John Snow, 2020/09/22
- [PATCH 08/25] qapi/schema.py: Allow alternate_type to assert,
John Snow <=
- [PATCH 13/25] qapi/schema.py: Test type of self.ret_type instead of local temp, John Snow, 2020/09/22
- [PATCH 16/25] qapi/schema.py: enable checking, John Snow, 2020/09/22
- [PATCH 24/25] qapi/schema.py: Add module docstring, John Snow, 2020/09/22
- [PATCH 20/25] qapi/schema.py: Replace one-letter variable names, John Snow, 2020/09/22
- [PATCH 18/25] qapi/schema.py: Add pylint warning suppressions, John Snow, 2020/09/22
- [PATCH 25/25] qapi/schema.py: Use python3 style super(), John Snow, 2020/09/22
- [PATCH 23/25] qapi/schema.py: enable pylint checks, John Snow, 2020/09/22
- [PATCH 19/25] qapi/schema.py: Convert several methods to classmethods, John Snow, 2020/09/22
- [PATCH 15/25] qapi/schema.py: add type hint annotations, John Snow, 2020/09/22
- [PATCH 22/25] qapi/schema.py: Ignore unused argument for check(), John Snow, 2020/09/22