qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 14/25] qapi/schema.py: Assert variants of an object are also obje


From: John Snow
Subject: [PATCH 14/25] qapi/schema.py: Assert variants of an object are also objects
Date: Tue, 22 Sep 2020 18:44:50 -0400

The 'seen' dictionaries are invariant types and require the most
abstracted type to maintain a consistent interface with other
check_clash implementations.

In this case, we happen to know (and require) that they will be object
types, so add a runtime assertion to constrain that type.

Corrects this warning:
qapi/schema.py:718: error: Item "QAPISchemaType" of "Optional[QAPISchemaType]"
    has no attribute "check_clash"

Signed-off-by: John Snow <jsnow@redhat.com>
---
 scripts/qapi/schema.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 09c7ceab41..b502eee9cb 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -620,6 +620,7 @@ def check_clash(self, info, seen):
         for v in self.variants:
             # Reset seen map for each variant, since qapi names from one
             # branch do not affect another branch
+            assert isinstance(v.type, QAPISchemaObjectType)
             v.type.check_clash(info, dict(seen))
 
 
-- 
2.26.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]