Message ID | 20231116014350.653792-10-jsnow@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | qapi: statically type schema.py | expand |
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>
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(
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(+)