# This program is free software; you can redistribute it and/or modify it
# under the terms of the license (GNU LGPL) which comes with this package.
# This program is free software; you can redistribute it and/or modify it
# under the terms of the license (GNU LGPL) which comes with this package.
'build/xml/mutex_8h.xml',
'build/xml/semaphore_8h.xml',
'build/xml/vm_8h.xml',
'build/xml/mutex_8h.xml',
'build/xml/semaphore_8h.xml',
'build/xml/vm_8h.xml',
elif inspect.isdatadescriptor(elm):
found_decl("attribute", fullname)
# print('.. autoattribute:: {}'.format(fullname))
elif inspect.isdatadescriptor(elm):
found_decl("attribute", fullname)
# print('.. autoattribute:: {}'.format(fullname))
- elif isinstance(elm, str) or isinstance(elm, int): # We do have such a data, directly in the SimGrid top module
+ elif isinstance(elm, (int, str)): # We do have such a data, directly in the SimGrid top module
found_decl("data", fullname)
# print('.. autodata:: {}'.format(fullname))
found_decl("data", fullname)
# print('.. autodata:: {}'.format(fullname))
elif inspect.ismodule(elm) or inspect.isclass(elm):
for name, data in inspect.getmembers(elm):
if name.startswith('__'):
elif inspect.ismodule(elm) or inspect.isclass(elm):
for name, data in inspect.getmembers(elm):
if name.startswith('__'):
# print("Recurse on {}.{}".format(fullname, name))
handle_python_module("{}.{}".format(fullname, name), elm, data)
else:
# print("Recurse on {}.{}".format(fullname, name))
handle_python_module("{}.{}".format(fullname, name), elm, data)
else:
- print('UNHANDLED TYPE {} : {!r} Type: {}'.format(fullname, elm, type(elm)))
+ print('UNHANDLED TYPE {} : {!r} Type: {} Englobing: {} str: {} Members: \n{}\n'.format(fullname, elm, type(elm), englobing, str(elm), inspect.getmembers(elm)))
if "compoundname" in elem:
raise Exception("Compound {} has no 'compoundname' child tag.".format(elem))
compoundname = elem.find("compoundname").text
if "compoundname" in elem:
raise Exception("Compound {} has no 'compoundname' child tag.".format(elem))
compoundname = elem.find("compoundname").text
- args = re.sub('\)[^)]*$', ')', args) # ignore what's after the parameters (eg, '=0' or ' const')
+ args = re.sub(r'\)[^)]*$', ')', args) # ignore what's after the parameters (eg, '=0' or ' const')
# Forget about the declarations that are done in the RST
with os.popen('grep doxygenfunction:: find-missing.ignore source/*rst|sed \'s/^.*doxygenfunction:: //\'|sed \'s/ *const//\'') as pse:
# Forget about the declarations that are done in the RST
with os.popen('grep doxygenfunction:: find-missing.ignore source/*rst|sed \'s/^.*doxygenfunction:: //\'|sed \'s/ *const//\'') as pse:
print("Warning: Object '{}' documented but not found in '{}'".format(line, klass))
# for obj in doxy_funs[klass]:
# print(" found: {}::{}".format(klass, obj))
print("Warning: Object '{}' documented but not found in '{}'".format(line, klass))
# for obj in doxy_funs[klass]:
# print(" found: {}::{}".format(klass, obj))
del doxy_funs[klass][obj]
elif args not in doxy_funs[klass][obj]:
print("Warning: Function {}{} not found in {}".format(obj, args, klass))
del doxy_funs[klass][obj]
elif args not in doxy_funs[klass][obj]:
print("Warning: Function {}{} not found in {}".format(obj, args, klass))