• E
    qapi: Use predicate callback to determine visit filtering · 25a0d9c9
    Eric Blake 提交于
    Previously, qapi-types and qapi-visit filtered out implicit
    objects during visit_object_type() by using 'info' (works since
    implicit objects do not [yet] have associated info); meanwhile
    qapi-introspect filtered out all schema types on the first pass
    by returning a python type from visit_begin(), which was then
    used at a distance in QAPISchema.visit() to do the filtering.
    
    Rather than keeping these ad hoc approaches, add a new visitor
    callback visit_needed() which returns False to skip a given
    entity, and which defaults to True unless overridden.  Use the
    new mechanism to simplify all three filtering visitors.
    
    No change to the generated code.
    Suggested-by: NMarkus Armbruster <armbru@redhat.com>
    Signed-off-by: NEric Blake <eblake@redhat.com>
    Message-Id: <1444710158-8723-2-git-send-email-eblake@redhat.com>
    Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
    25a0d9c9
qapi.py 55.6 KB