summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sphinx/ext/autodoc.py7
-rw-r--r--tests/root/autodoc.txt21
2 files changed, 25 insertions, 3 deletions
diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py
index 192c37e3..e0d27458 100644
--- a/sphinx/ext/autodoc.py
+++ b/sphinx/ext/autodoc.py
@@ -612,9 +612,9 @@ class ModuleDocumenter(Documenter):
else:
memberlist = self.object.__all__
else:
- memberlist = self.options.members
+ memberlist = self.options.members or []
ret = []
- for mname in memberlist or ():
+ for mname in memberlist:
try:
ret.append((mname, getattr(self.object, mname)))
except AttributeError:
@@ -716,7 +716,8 @@ class ClassDocumenter(ModuleLevelDocumenter):
ret = ModuleLevelDocumenter.import_object(self)
# if the class is documented under another name, document it
# as data/attribute
- self.doc_as_attr = (self.objpath[-1] != self.object.__name__)
+ if ret:
+ self.doc_as_attr = (self.objpath[-1] != self.object.__name__)
return ret
def format_args(self):
diff --git a/tests/root/autodoc.txt b/tests/root/autodoc.txt
index 2b57e0e9..c718feb4 100644
--- a/tests/root/autodoc.txt
+++ b/tests/root/autodoc.txt
@@ -1,7 +1,28 @@
Autodoc tests
=============
+Just testing a few autodoc possibilities...
+
+.. automodule:: util
+
.. automodule:: test_autodoc
:members:
.. autofunction:: function
+
+.. autoclass:: Class
+ :inherited-members:
+
+ Additional content.
+
+.. autoclass:: Outer
+ :members: Inner
+
+.. autoattribute:: Class.docattr
+
+.. autoexception:: CustomEx
+ :members: f
+
+.. autoclass:: CustomDict
+ :show-inheritance:
+ :members: