When describing member types always include the context of the containing type. Although this is often redundant, in some cases it will help to reduce ambiguity.
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com> --- scripts/qapi/schema.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py index 207e4d71f3..da04b97ded 100644 --- a/scripts/qapi/schema.py +++ b/scripts/qapi/schema.py @@ -697,6 +697,7 @@ def connect_doc(self, doc): def describe(self, info): role = self.role + meta = 'type' defined_in = self.defined_in assert defined_in @@ -708,13 +709,17 @@ def describe(self, info): # Implicit type created for a command's dict 'data' assert role == 'member' role = 'parameter' + meta = 'command' + defined_in = defined_in[:-4] elif defined_in.endswith('-base'): # Implicit type created for a union's dict 'base' role = 'base ' + role + defined_in = defined_in[:-5] else: assert False - elif defined_in != info.defn_name: - return "%s '%s' of type '%s'" % (role, self.name, defined_in) + + if defined_in != info.defn_name: + return "%s '%s' of %s '%s'" % (role, self.name, meta, defined_in) return "%s '%s'" % (role, self.name) -- 2.40.0