QAPISchemaInfo instances are sometimes defined as an Optional field/argument 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 can only enforce that it is "Optional".
Signed-off-by: John Snow <js...@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- scripts/qapi/schema.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py index 43af756ed47..eefa58a798b 100644 --- a/scripts/qapi/schema.py +++ b/scripts/qapi/schema.py @@ -758,6 +758,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) @@ -848,6 +849,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.43.0