From cc7483498c091114287e43380890bc81e1a96f1c Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Thu, 15 Jan 2015 14:18:22 +0100 Subject: [PATCH] Start using the position modifier. --- jedi/cache.py | 2 +- jedi/parser/tree.py | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/jedi/cache.py b/jedi/cache.py index ce710865..37d1c512 100644 --- a/jedi/cache.py +++ b/jedi/cache.py @@ -230,7 +230,7 @@ def save_parser(path, name, parser, pickling=True): class ParserPickling(object): - version = 21 + version = 22 """ Version number (integer) for file system cache. diff --git a/jedi/parser/tree.py b/jedi/parser/tree.py index 34edb95d..fd9b7fee 100644 --- a/jedi/parser/tree.py +++ b/jedi/parser/tree.py @@ -146,18 +146,27 @@ class Base(object): class Leaf(Base): - __slots__ = ('position_modifier', 'value', 'parent', 'start_pos', 'prefix') + __slots__ = ('position_modifier', 'value', 'parent', '_start_pos', 'prefix') def __init__(self, position_modifier, value, start_pos, prefix=''): self.position_modifier = position_modifier self.value = value - self.start_pos = start_pos + self._start_pos = start_pos self.prefix = prefix self.parent = None + @property + def start_pos(self): + return self._start_pos[0] + self.position_modifier.line, self._start_pos[1] + + @start_pos.setter + def start_pos(self, value): + self._start_pos = value + @property def end_pos(self): - return self.start_pos[0], self.start_pos[1] + len(self.value) + return (self._start_pos[0] + self.position_modifier.line, + self._start_pos[1] + len(self.value)) def get_code(self): return self.prefix + self.value