""" This file is about errors in Python files and not about exception handling in Jedi. """ def parso_to_jedi_errors(grammar, module_node): return [SyntaxError(e) for e in grammar.iter_errors(module_node)] class SyntaxError(object): """ Syntax errors are generated by :meth:`.Script.get_syntax_errors`. """ def __init__(self, parso_error): self._parso_error = parso_error @property def line(self): """The line where the error starts (starting with 1).""" return self._parso_error.start_pos[0] @property def column(self): """The column where the error starts (starting with 0).""" return self._parso_error.start_pos[1] @property def until_line(self): """The line where the error ends (starting with 1).""" return self._parso_error.end_pos[0] @property def until_column(self): """The column where the error ends (starting with 0).""" return self._parso_error.end_pos[1] def get_message(self): return self._parso_error.message def __repr__(self): return '<%s from=%s to=%s>' % ( self.__class__.__name__, self._parso_error.start_pos, self._parso_error.end_pos, )