Eric Blake <ebl...@redhat.com> writes: > On 03/13/2017 01:18 AM, Markus Armbruster wrote: >> qapi2texi works with schema expression trees. Such a tight coupling >> to schema language syntax is not a good idea. Convert it to the visitor >> interface the other generators use. >> >> No change to generated documentation. >> >> Signed-off-by: Markus Armbruster <arm...@redhat.com> >> --- >> scripts/qapi2texi.py | 228 >> ++++++++++++++++++++++++++------------------------- >> 1 file changed, 118 insertions(+), 110 deletions(-) >> > >> + def visit_object_type(self, name, info, base, members, variants): >> + doc = self.cur_doc >> + if not variants: >> + typ = 'Struct' >> + elif variants._tag_name: # TODO unclean member access >> + typ = 'Flat Union' >> + else: >> + typ = 'Simple Union' > > Do we even want to document this distinction to the end user?
No, we don't. '[PATCH for-2.9 29/47] qapi2texi: Use category "Object" for all object types' takes care of it. > Introspection managed to hide the difference by introducing the > appropriate generated wrapper types that demonstrate the additional {} > nesting in a way compatible with rewriting simple unions into flat > unions. If we don't explain the difference here, we can get rid of the > unclean member access, but then again risk documentation that is not > clear whether {} nesting is needed. > > I guess there's also the fact that for this patch, you intentionally > tried to make no difference to the generated docs (good); so any tweaks > to union output should be later patches anyways. > > Reviewed-by: Eric Blake <ebl...@redhat.com> Thanks!