X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=bindings%2Fswig%2Fdoc.py;fp=bindings%2Fswig%2Fdoc.py;h=10b0494e0970e098447cda4f950789ced7279854;hb=5cad31c708b50329a27f31c7df0f67dddea6ce5a;hp=16cc16520e03ed84021d7ecd991ad5102aa6bad6;hpb=b6f411ac4eace7e3c793444b54be7456686d71a5;p=libsigrok.git diff --git a/bindings/swig/doc.py b/bindings/swig/doc.py index 16cc1652..10b0494e 100644 --- a/bindings/swig/doc.py +++ b/bindings/swig/doc.py @@ -50,10 +50,26 @@ for compound in index.findall('compound'): for function in section.findall('memberdef'): function_name = function.find('name').text brief = get_text(function.find('briefdescription')) + parameters = {} + for para in function.find('detaileddescription').findall('para'): + paramlist = para.find('parameterlist') + if paramlist is not None: + for param in paramlist.findall('parameteritem'): + namelist = param.find('parameternamelist') + name = namelist.find('parametername').text + description = get_text(param.find('parameterdescription')) + if description: + parameters[name] = description if brief: if language == 'python': - print '%%feature("docstring") %s::%s "%s";' % ( - class_name, function_name, brief) + print str.join('\n', [ + '%%feature("docstring") %s::%s "%s' % ( + class_name, function_name, brief)] + [ + '@param %s %s' % (name, desc) + for name, desc in parameters.items()]) + '";' elif language == 'java': - print '%%javamethodmodifiers %s::%s "/** %s */\npublic"' % ( - class_name, function_name, brief) + print str.join('\n', [ + '%%javamethodmodifiers %s::%s "/** %s' % ( + class_name, function_name, brief)] + [ + ' * @param %s %s' % (name, desc) + for name, desc in parameters.items()]) + ' */\npublic"'