turned SourceLocation class into a dataclass

This commit is contained in:
weckyy702
2021-04-05 23:29:50 +02:00
parent dc13f917b0
commit f4c9c77ad8

View File

@@ -32,17 +32,14 @@ class Token_type(IntEnum):
STRING_LITERAL=17 STRING_LITERAL=17
TYPE_NAME=18 TYPE_NAME=18
@dataclass(frozen=True)
class SourceLocation: class SourceLocation:
file: str
__slots__ = ["filename", "line", "column"] line: int
column: int
def __init__(self, filename: str, line: int, column: int) -> None:
self.filename = filename
self.line = line
self.column = column
def __str__(self) -> str: def __str__(self) -> str:
return f"File {self.filename}, {self.line}:{self.column}" return f"File {self.file} {self.line}:{self.column}"
@dataclass(frozen=True, eq=True) @dataclass(frozen=True, eq=True)
class Token: class Token: