""" | |
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: | |
""" | |
Syntax errors are generated by :meth:`.Script.get_syntax_errors`. | |
""" | |
def __init__(self, parso_error): | |
self._parso_error = parso_error | |
def line(self): | |
"""The line where the error starts (starting with 1).""" | |
return self._parso_error.start_pos[0] | |
def column(self): | |
"""The column where the error starts (starting with 0).""" | |
return self._parso_error.start_pos[1] | |
def until_line(self): | |
"""The line where the error ends (starting with 1).""" | |
return self._parso_error.end_pos[0] | |
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, | |
) | |