fixed position problems (with tokenizer offsets)

This commit is contained in:
David Halter
2013-02-21 21:45:39 +04:30
parent 80423ddb57
commit 923e59b9c2
2 changed files with 8 additions and 3 deletions

View File

@@ -63,6 +63,7 @@ class NoErrorTokenizer(object):
self.stop_on_scope = stop_on_scope
self.first_scope = False
self.closed = False
self.first = True
def push_last_back(self):
self.gen.push_back(self.current)
@@ -107,8 +108,13 @@ class NoErrorTokenizer(object):
elif c[1] != '@':
self.first_scope = True
c[2] = self.offset[0] + c[2][0], self.offset[1] + c[2][1]
c[3] = self.offset[0] + c[3][0], self.offset[1] + c[3][1]
if self.first:
c[2] = self.offset[0] + c[2][0], self.offset[1] + c[2][1]
c[3] = self.offset[0] + c[3][0], self.offset[1] + c[3][1]
self.first = False
else:
c[2] = self.offset[0] + c[2][0], c[2][1]
c[3] = self.offset[0] + c[3][0], c[3][1]
return c

View File

@@ -90,7 +90,6 @@ class Simple(Base):
def __repr__(self):
code = self.get_code().replace('\n', ' ')
# TODO (this todo doesn't belong here) positions are not added right.
return "<%s: %s@%s,%s>" % \
(type(self).__name__, code, self.start_pos[0], self.start_pos[1])