diff --git a/jedi/evaluate/instance.py b/jedi/evaluate/instance.py index 9b131f84..d48169e5 100644 --- a/jedi/evaluate/instance.py +++ b/jedi/evaluate/instance.py @@ -197,6 +197,11 @@ class CompiledInstance(AbstractInstanceContext): class TreeInstance(AbstractInstanceContext): + def __init__(self, evaluator, parent_context, class_context, var_args): + super(TreeInstance, self).__init__(evaluator, parent_context, + class_context, var_args) + self.tree_node = class_context.tree_node + @property def name(self): return filters.ContextName(self, self.class_context.name.tree_name) diff --git a/test/test_evaluate/test_docstring.py b/test/test_evaluate/test_docstring.py index 98858b91..efd61941 100644 --- a/test/test_evaluate/test_docstring.py +++ b/test/test_evaluate/test_docstring.py @@ -22,6 +22,21 @@ class TestDocstring(unittest.TestCase): func""").goto_definitions() self.assertEqual(defs[0].docstring(), 'func()\n\nDocstring of `func`.') + def test_class_doc(self): + defs = jedi.Script(""" + class TestClass(): + '''Docstring of `TestClass`.''' + TestClass""").goto_definitions() + self.assertEqual(defs[0].docstring(), 'Docstring of `TestClass`.') + + def test_instance_doc(self): + defs = jedi.Script(""" + class TestClass(): + '''Docstring of `TestClass`.''' + tc = TestClass() + tc""").goto_definitions() + self.assertEqual(defs[0].docstring(), 'Docstring of `TestClass`.') + @unittest.skip('need evaluator class for that') def test_attribute_docstring(self): defs = jedi.Script("""