diff --git a/jedi/evaluate/compiled/__init__.py b/jedi/evaluate/compiled/__init__.py index 69229ed5..ed196ae7 100644 --- a/jedi/evaluate/compiled/__init__.py +++ b/jedi/evaluate/compiled/__init__.py @@ -26,7 +26,7 @@ class CompiledObject(Base): def __init__(self, obj, parent=None): self.obj = obj self.parent = parent - self.doc = inspect.getdoc(obj) + self.doc = inspect.getdoc(obj) or '' @property def params(self): diff --git a/test/test_evaluate/test_compiled.py b/test/test_evaluate/test_compiled.py index dd1959ba..eb3ad4ed 100644 --- a/test/test_evaluate/test_compiled.py +++ b/test/test_evaluate/test_compiled.py @@ -38,3 +38,12 @@ def test_parse_function_doc_illegal_docstr(): doesn't have a closing bracket. """ assert ('', '') == compiled._parse_function_doc(docstr) + + +def test_doc(): + """ + Even CompiledObject docs always return empty docstrings - not None, that's + just a Jedi API definition. + """ + obj = compiled.CompiledObject(''.__getnewargs__) + assert obj.doc == ''