mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Unify all method types again.
This commit is contained in:
parent
30fd6faddd
commit
ec9bf90ba7
@ -817,6 +817,20 @@ class MethodDocumenter(ClassLevelDocumenter):
|
|||||||
return inspect.isroutine(member) and \
|
return inspect.isroutine(member) and \
|
||||||
not isinstance(parent, ModuleDocumenter)
|
not isinstance(parent, ModuleDocumenter)
|
||||||
|
|
||||||
|
def import_object(self):
|
||||||
|
ret = ClassLevelDocumenter.import_object(self)
|
||||||
|
if isinstance(self.object, classmethod) or \
|
||||||
|
(isinstance(self.object, MethodType) and
|
||||||
|
self.object.im_self is not None):
|
||||||
|
self.directivetype = 'classmethod'
|
||||||
|
elif isinstance(self.object, FunctionType) or \
|
||||||
|
(isinstance(self.object, BuiltinFunctionType) and
|
||||||
|
self.object.__self__ is not None):
|
||||||
|
self.directivetype = 'staticmethod'
|
||||||
|
else:
|
||||||
|
self.directivetype = 'method'
|
||||||
|
return ret
|
||||||
|
|
||||||
def format_args(self):
|
def format_args(self):
|
||||||
if inspect.isbuiltin(self.object) or \
|
if inspect.isbuiltin(self.object) or \
|
||||||
inspect.ismethoddescriptor(self.object):
|
inspect.ismethoddescriptor(self.object):
|
||||||
@ -831,33 +845,6 @@ class MethodDocumenter(ClassLevelDocumenter):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class ClassmethodDocumenter(MethodDocumenter):
|
|
||||||
objtype = 'classmethod'
|
|
||||||
|
|
||||||
priority = 10
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def can_document_member(cls, member, membername, isattr, parent):
|
|
||||||
return inspect.isroutine(member) and \
|
|
||||||
not isinstance(parent, ModuleDocumenter) and \
|
|
||||||
(isinstance(member, classmethod) or
|
|
||||||
(isinstance(member, MethodType) and member.im_self is not None))
|
|
||||||
|
|
||||||
|
|
||||||
class StaticmethodDocumenter(MethodDocumenter):
|
|
||||||
objtype = 'staticmethod'
|
|
||||||
|
|
||||||
priority = 10
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def can_document_member(cls, member, membername, isattr, parent):
|
|
||||||
return inspect.isroutine(member) and \
|
|
||||||
not isinstance(parent, ModuleDocumenter) and \
|
|
||||||
(isinstance(member, FunctionType) or
|
|
||||||
(isinstance(member, BuiltinFunctionType) and
|
|
||||||
member.__self__ is not None))
|
|
||||||
|
|
||||||
|
|
||||||
class AttributeDocumenter(ClassLevelDocumenter):
|
class AttributeDocumenter(ClassLevelDocumenter):
|
||||||
objtype = 'attribute'
|
objtype = 'attribute'
|
||||||
|
|
||||||
@ -940,8 +927,6 @@ def setup(app):
|
|||||||
app.add_autodocumenter(DataDocumenter)
|
app.add_autodocumenter(DataDocumenter)
|
||||||
app.add_autodocumenter(FunctionDocumenter)
|
app.add_autodocumenter(FunctionDocumenter)
|
||||||
app.add_autodocumenter(MethodDocumenter)
|
app.add_autodocumenter(MethodDocumenter)
|
||||||
app.add_autodocumenter(ClassmethodDocumenter)
|
|
||||||
app.add_autodocumenter(StaticmethodDocumenter)
|
|
||||||
app.add_autodocumenter(AttributeDocumenter)
|
app.add_autodocumenter(AttributeDocumenter)
|
||||||
|
|
||||||
app.add_config_value('autoclass_content', 'class', True)
|
app.add_config_value('autoclass_content', 'class', True)
|
||||||
|
Loading…
Reference in New Issue
Block a user