• E
    qapi-visit: Expose visit_type_FOO_members() · 4d91e911
    Eric Blake 提交于
    Dan Berrange reported a case where he needs to work with a
    QCryptoBlockOptions union type using the OptsVisitor, but only
    visit one of the branches of that type (the discriminator is not
    visited directly, but learned externally).  When things were
    boxed, it was easy: just visit the variant directly, which took
    care of both allocating the variant and visiting its members, then
    store that pointer in the union type.  But now that things are
    unboxed, we need a way to visit the members without allocation,
    done by exposing visit_type_FOO_members() to the user.
    
    Before the patch, we had quite a bit of code associated with
    object_members_seen to make sure that a declaration of the helper
    was in scope before any use of the function.  But now that the
    helper is public and declared in the header, the .c file no
    longer needs to worry about topological sorting (the helper is
    always in scope), which leads to some nice cleanups.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    Message-Id: <1457021813-10704-4-git-send-email-eblake@redhat.com>
    Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
    4d91e911
qapi-visit.py 10.1 KB