diff --git a/jedi/evaluate_representation.py b/jedi/evaluate_representation.py index e294e1d1..74ce5b46 100644 --- a/jedi/evaluate_representation.py +++ b/jedi/evaluate_representation.py @@ -169,7 +169,7 @@ class Instance(use_metaclass(cache.CachedMetaClass, Executable)): def __getattr__(self, name): if name not in ['start_pos', 'end_pos', 'name', 'get_imports', - 'docstr', 'asserts']: + 'doc', 'docstr', 'asserts']: raise AttributeError("Instance %s: Don't touch this (%s)!" % (self, name)) return getattr(self.base, name) diff --git a/jedi/parsing_representation.py b/jedi/parsing_representation.py index 44a78344..c3fa3aa3 100644 --- a/jedi/parsing_representation.py +++ b/jedi/parsing_representation.py @@ -715,7 +715,7 @@ class Statement(Simple): return ''.join(pieces) return '%s %s ' % (''.join(pieces), assignment) - code = ''.join(assemble(*a) for a in self._assignment_details) + code = ''.join(assemble(*a) for a in self.assignment_details) code += assemble(self.get_commands()) if new_line: diff --git a/test/regression.py b/test/regression.py index a7cdc12f..314dde67 100755 --- a/test/regression.py +++ b/test/regression.py @@ -90,6 +90,14 @@ class TestRegression(TestBase): if not is_py25: assert len(r[0].doc) > 100 + def test_function_call_signature(self): + defs = self.definition(""" + def f(x, y=1, z='a'): + pass + f""") + doc = defs[0].doc + assert "f(x, y = 1, z = 'a')" in doc + def test_definition_at_zero(self): assert self.definition("a", (1, 1)) == [] s = self.definition("str", (1, 1))