|
@@ -335,28 +335,25 @@ class Parser(object):
|
|
|
return
|
|
|
|
|
|
line_cache[self] = []
|
|
|
-
|
|
|
lc = line_cache[self]
|
|
|
|
|
|
- l = len(self.input)
|
|
|
line = 1
|
|
|
column = 0
|
|
|
- pos = 0
|
|
|
|
|
|
- while pos < l:
|
|
|
- if self.input[pos] == "\n":
|
|
|
+ for i in self.input:
|
|
|
+ if i == "\n":
|
|
|
line += 1
|
|
|
column = 0
|
|
|
- elif self.input[pos] == "\t":
|
|
|
+ elif i == "\t":
|
|
|
column += self.tabsize
|
|
|
else:
|
|
|
column += 1
|
|
|
lc.append((line, column))
|
|
|
- pos += 1
|
|
|
|
|
|
def convertToLineColumn(self, pos):
|
|
|
global line_cache
|
|
|
self.generate_line_cache()
|
|
|
+
|
|
|
if pos > len(line_cache[self]):
|
|
|
return {'line': line_cache[self][pos][0], 'column': line_cache[self][pos][1]}
|
|
|
else:
|