summaryrefslogtreecommitdiff
path: root/sphinx/ext/autodoc/__init__.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2022-04-03 22:45:42 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2022-04-03 22:45:42 +0900
commitda739604920bd0f2de2cfb94e5378fe72f1e468c (patch)
tree008b31efd0b8ba957a226ebae076740ce30d3119 /sphinx/ext/autodoc/__init__.py
parente38c1bda01fc613befe21c9ca2b501e91e3d0b3e (diff)
parent80c75b3549f4eadde9a18365448db77a14c26d75 (diff)
downloadsphinx-git-da739604920bd0f2de2cfb94e5378fe72f1e468c.tar.gz
Merge branch '5.x' into autodoc_force_undocumented_rtype
Diffstat (limited to 'sphinx/ext/autodoc/__init__.py')
-rw-r--r--sphinx/ext/autodoc/__init__.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py
index 891bf52db..97b5420e9 100644
--- a/sphinx/ext/autodoc/__init__.py
+++ b/sphinx/ext/autodoc/__init__.py
@@ -109,12 +109,14 @@ def exclude_members_option(arg: Any) -> Union[object, Set[str]]:
return {x.strip() for x in arg.split(',') if x.strip()}
-def inherited_members_option(arg: Any) -> Union[object, Set[str]]:
+def inherited_members_option(arg: Any) -> Set[str]:
"""Used to convert the :members: option to auto directives."""
if arg in (None, True):
- return 'object'
+ return {'object'}
+ elif arg:
+ return set(x.strip() for x in arg.split(','))
else:
- return arg
+ return set()
def member_order_option(arg: Any) -> Optional[str]:
@@ -680,9 +682,11 @@ class Documenter:
``autodoc-skip-member`` event.
"""
def is_filtered_inherited_member(name: str, obj: Any) -> bool:
+ inherited_members = self.options.inherited_members or set()
+
if inspect.isclass(self.object):
for cls in self.object.__mro__:
- if cls.__name__ == self.options.inherited_members and cls != self.object:
+ if cls.__name__ in inherited_members and cls != self.object:
# given member is a member of specified *super class*
return True
elif name in cls.__dict__: