def _logical_start(lines, lineno, check_prev=False): logical_finder = LogicalLineFinder(ArrayLinesAdapter(lines)) if check_prev: prev = lineno - 1 while prev > 0: start, end = logical_finder.logical_line_in(prev) if end is None or start <= lineno < end: return start if start <= prev: break prev -= 1 return logical_finder.logical_line_in(lineno)[0]
def test_generating_line_starts3(self): code = 'a = 1\na = 2\n\na = \\ 3\n' line_finder = LogicalLineFinder(SourceLinesAdapter(code)) self.assertEquals([2], list(line_finder.generate_starts(2, 3)))
def _logical_finder(self, code): return LogicalLineFinder(SourceLinesAdapter(code))