[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 10/22] qapi/parser: Fix typing of token membership tests
From: |
John Snow |
Subject: |
[PATCH 10/22] qapi/parser: Fix typing of token membership tests |
Date: |
Wed, 21 Apr 2021 23:07:08 -0400 |
When the token can be None, we can't use 'x in "abc"' style membership
tests to group types of tokens together, because 'None in "abc"' is a
TypeError.
Easy enough to fix, if not a little ugly.
Signed-off-by: John Snow <jsnow@redhat.com>
---
scripts/qapi/parser.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/scripts/qapi/parser.py b/scripts/qapi/parser.py
index 7f3c009f64b..16fd36f8391 100644
--- a/scripts/qapi/parser.py
+++ b/scripts/qapi/parser.py
@@ -272,7 +272,7 @@ def get_values(self):
if self.tok == ']':
self.accept()
return expr
- if self.tok not in "{['tf":
+ if self.tok is None or self.tok not in "{['tf":
raise QAPIParseError(
self, "expected '{', '[', ']', string, or boolean")
while True:
@@ -294,7 +294,8 @@ def get_expr(self, nested):
elif self.tok == '[':
self.accept()
expr = self.get_values()
- elif self.tok in "'tf":
+ elif self.tok and self.tok in "'tf":
+ assert isinstance(self.val, (str, bool))
expr = self.val
self.accept()
else:
--
2.30.2
[PATCH 10/22] qapi/parser: Fix typing of token membership tests,
John Snow <=
[PATCH 14/22] qapi/parser: Remove superfluous list constructor, John Snow, 2021/04/21
[PATCH 17/22] CHECKPOINT, John Snow, 2021/04/21
[PATCH 19/22] qapi: [WIP] Add type ignores for qapidoc.py, John Snow, 2021/04/21
[PATCH 20/22] qapi: [WIP] Import QAPIDoc from qapidoc Signed-off-by: John Snow <address@hidden>, John Snow, 2021/04/21
[PATCH 22/22] qapi: [WIP] Enable linters on parser.py, John Snow, 2021/04/21
[PATCH 21/22] qapi: [WIP] Add QAPIDocError, John Snow, 2021/04/21
[PATCH 13/22] qapi/parser: [RFC] overload the return type of get_expr, John Snow, 2021/04/21