Source code for coalib.results.SourcePosition

from os.path import relpath, abspath

from coala_utils.decorators import (
    enforce_signature, generate_ordering, generate_repr, get_public_members)
from coalib.results.TextPosition import TextPosition


[docs]@generate_repr('file', 'line', 'column') @generate_ordering('file', 'line', 'column') class SourcePosition(TextPosition): @enforce_signature def __init__(self, file: str, line=None, column=None): """ Creates a new result position object that represents the position of a result in the source code. :param file: The filename. :param line: The line in file or None, the first line is 1. :param column: The column indicating the character. The first one in a line is 1. :raises TypeError: Raised when - file is not a string or None. - line or columns are no integers. """ TextPosition.__init__(self, line, column) self._file = abspath(file) @property def file(self): return self._file def __json__(self, use_relpath=False): _dict = get_public_members(self) if use_relpath: _dict['file'] = relpath(_dict['file']) return _dict