[PATCH 09/19] qapi/schema: assert info is present when necessary

John Snow posted 19 patches 1 year ago
There is a newer version of this series
[PATCH 09/19] qapi/schema: assert info is present when necessary
Posted by John Snow 1 year ago
QAPISchemaInfo is sometimes defined as an Optional field because
built-in definitions don't *have* a source definition. As a consequence,
there are a few places where we need to assert that it's present because
the root entity definition only suggests it's "Optional".

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

diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
index 3308f334872..c9a194103e1 100644
--- a/scripts/qapi/schema.py
+++ b/scripts/qapi/schema.py
@@ -733,6 +733,7 @@ def describe(self, info):
             else:
                 assert False
 
+        assert info is not None
         if defined_in != info.defn_name:
             return "%s '%s' of %s '%s'" % (role, self.name, meta, defined_in)
         return "%s '%s'" % (role, self.name)
@@ -823,6 +824,7 @@ def __init__(self, name, info, doc, ifcond, features,
         self.coroutine = coroutine
 
     def check(self, schema):
+        assert self.info is not None
         super().check(schema)
         if self._arg_type_name:
             arg_type = schema.resolve_type(
-- 
2.41.0
Re: [PATCH 09/19] qapi/schema: assert info is present when necessary
Posted by Philippe Mathieu-Daudé 1 year ago
On 16/11/23 02:43, John Snow wrote:
> QAPISchemaInfo is sometimes defined as an Optional field because
> built-in definitions don't *have* a source definition. As a consequence,
> there are a few places where we need to assert that it's present because
> the root entity definition only suggests it's "Optional".
> 
> Signed-off-by: John Snow <jsnow@redhat.com>
> ---
>   scripts/qapi/schema.py | 2 ++
>   1 file changed, 2 insertions(+)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>