source: Location: prepare for builtins

This commit is contained in:
Antoine Viallon 2024-01-05 23:11:32 +01:00
parent 3fa039110b
commit 43b2dc9e93
Signed by: aviallon
GPG key ID: 186FC35EDEB25716

View file

@ -12,15 +12,23 @@ logger = Logger(__name__)
@typecheck
@dataclass
class Location:
line: int
character: int
line: int = -1
character: int = -1
file: str = "<none>"
internal: bool = False
def __str__(self) -> str:
if self.internal:
return "<internal>"
return f"{self.file}:{self.line}:{self.character}"
@typecheck
def __lt__(self, other: Location) -> bool:
if self.internal:
return True
if other.internal:
return False
if self.file != other.file:
logger.trace(f"{self} is not in the same file as {other}")
return False