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
|
||||
def can_document_member(cls, member, membername, isattr, parent):
|
||||
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 \
|
||||
(isattr and not isinstance(parent, ModuleDocumenter))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user