diff --git a/jedi/parser/representation.py b/jedi/parser/representation.py index a6cb4eec..726f4ab1 100644 --- a/jedi/parser/representation.py +++ b/jedi/parser/representation.py @@ -860,6 +860,10 @@ class Statement(Simple, DocstringMixin): # cache self._assignment_details = [] + @property + def end_pos(self): + return self._token_list[-1].end_pos + def get_code(self, new_line=True): def assemble(command_list, assignment=None): pieces = [c.get_code() if isinstance(c, Simple) else c.string if @@ -1427,6 +1431,10 @@ class Name(Simple): """ Returns the names in a full string format """ return ".".join(unicode(n) for n in self.names) + @property + def end_pos(self): + return self.names[-1].end_pos + @property def docstr(self): """Return attribute docstring (PEP 257) if exists.""" diff --git a/test/test_parser/test_parser.py b/test/test_parser/test_parser.py index 85323ccd..408f48ae 100644 --- a/test/test_parser/test_parser.py +++ b/test/test_parser/test_parser.py @@ -89,7 +89,7 @@ def test_module(): name = module.name assert str(name) == 'example' assert name.start_pos == (0, 0) - assert name.end_pos == (0, 0) + assert name.end_pos == (0, 7) module = Parser(u('asdf'), no_docstr=True).module name = module.name