turned SourceLocation class into a dataclass
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user