mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Correctly treat built-in method (method descriptors) as methods
This fixes a bug where method descriptors were treated as data descriptors. As the builtin_method_descriptor type is not exported anywhere in Python, we check for the name here. As we know that it is a descriptor, this should not be a problem.
This commit is contained in:
parent
08d556d4b6
commit
64e7fcb71e
@ -1072,7 +1072,8 @@ class AttributeDocumenter(ClassLevelDocumenter):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def can_document_member(cls, member, membername, isattr, parent):
|
def can_document_member(cls, member, membername, isattr, parent):
|
||||||
isdatadesc = isdescriptor(member) and not \
|
isdatadesc = isdescriptor(member) and not \
|
||||||
isinstance(member, cls.method_types)
|
isinstance(member, cls.method_types) and not \
|
||||||
|
type(member).__name__ == "method_descriptor"
|
||||||
return isdatadesc or \
|
return isdatadesc or \
|
||||||
(isattr and not isinstance(parent, ModuleDocumenter))
|
(isattr and not isinstance(parent, ModuleDocumenter))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user