diff options
Diffstat (limited to 'sphinx/ext/autodoc.py')
-rw-r--r-- | sphinx/ext/autodoc.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py index 2597c03b1..731c5f103 100644 --- a/sphinx/ext/autodoc.py +++ b/sphinx/ext/autodoc.py @@ -597,26 +597,26 @@ class Documenter(object): # of inner classes can be documented full_mname = self.modname + '::' + \ '.'.join(self.objpath + [mname]) - memberdocumenters.append( - classes[-1](self.directive, full_mname, self.indent)) + documenter = classes[-1](self.directive, full_mname, self.indent) + memberdocumenters.append((documenter, isattr)) member_order = self.options.member_order or \ self.env.config.autodoc_member_order if member_order == 'groupwise': # sort by group; relies on stable sort to keep items in the # same group sorted alphabetically - memberdocumenters.sort(key=lambda d: d.member_order) + memberdocumenters.sort(key=lambda e: e[0].member_order) elif member_order == 'bysource' and self.analyzer: # sort by source order, by virtue of the module analyzer tagorder = self.analyzer.tagorder - def keyfunc(documenter): - fullname = documenter.name.split('::')[1] + def keyfunc(entry): + fullname = entry[0].name.split('::')[1] return tagorder.get(fullname, len(tagorder)) memberdocumenters.sort(key=keyfunc) - for documenter in memberdocumenters: - documenter.generate(all_members=True, - real_modname=self.real_modname, - check_module=members_check_module) + for documenter, isattr in memberdocumenters: + documenter.generate( + all_members=True, real_modname=self.real_modname, + check_module=members_check_module and not isattr) # reset current objects self.env.temp_data['autodoc:module'] = None |