From 64e7fcb71e6072711a41f784c7bd08eeb076ac62 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Wed, 4 May 2011 17:18:59 +0200 Subject: [PATCH] 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. --- sphinx/ext/autodoc.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sphinx/ext/autodoc.py b/sphinx/ext/autodoc.py index d184342ef..f72e7dfa0 100644 --- a/sphinx/ext/autodoc.py +++ b/sphinx/ext/autodoc.py @@ -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))