qapi2texi: Generate descriptions for simple union tags
Simple union tags carry no type information, because their type is
implicit.  Their description should make up for it, but many have
none.  Generate one automatically then.
Example change (qemu-qmp-ref.txt):
  -- Simple Union: ImageInfoSpecific
      A discriminated record of image format specific information
      structures.
      Members:
      'type'
-          Not documented
+          One of "qcow2", "vmdk", "luks"
      'data: ImageInfoSpecificQCow2' when 'type' is "qcow2"
      'data: ImageInfoSpecificVmdk' when 'type' is "vmdk"
      'data: QCryptoBlockInfoLUKS' when 'type' is "luks"
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <1489582656-31133-29-git-send-email-armbru@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									5169cd8767
								
							
						
					
					
						commit
						c19eaa64df
					
				@ -148,11 +148,16 @@ def texi_members(doc, what, base, variants, member_func):
 | 
				
			|||||||
    """Format the table of members"""
 | 
					    """Format the table of members"""
 | 
				
			||||||
    items = ''
 | 
					    items = ''
 | 
				
			||||||
    for section in doc.args.itervalues():
 | 
					    for section in doc.args.itervalues():
 | 
				
			||||||
 | 
					        # TODO Drop fallbacks when undocumented members are outlawed
 | 
				
			||||||
        if section.content:
 | 
					        if section.content:
 | 
				
			||||||
            desc = str(section)
 | 
					            desc = texi_format(str(section))
 | 
				
			||||||
 | 
					        elif (variants and variants.tag_member == section.member
 | 
				
			||||||
 | 
					              and not section.member.type.doc_type()):
 | 
				
			||||||
 | 
					            values = section.member.type.member_names()
 | 
				
			||||||
 | 
					            desc = 'One of ' + ', '.join(['@t{"%s"}' % v for v in values])
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            desc = 'Not documented'
 | 
					            desc = 'Not documented'
 | 
				
			||||||
        items += member_func(section.member) + texi_format(desc) + '\n'
 | 
					        items += member_func(section.member) + desc + '\n'
 | 
				
			||||||
    if base:
 | 
					    if base:
 | 
				
			||||||
        items += '@item The members of @code{%s}\n' % base.doc_type()
 | 
					        items += '@item The members of @code{%s}\n' % base.doc_type()
 | 
				
			||||||
    if variants:
 | 
					    if variants:
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user