tp/tools/libdol2asm/data/identifier.py

26 lines
624 B
Python

from dataclasses import dataclass, field
@dataclass
class Identifier:
prefix: str
addr: int
name: str
override_name: str = field(default=None, repr=False)
is_name_safe: bool = field(default=False, repr=False)
@property
def label(self):
if self.override_name:
return self.override_name
if self.name and self.is_name_safe:
return self.name
return "%s_%08X" % (self.prefix, self.addr)
@property
def reference(self):
return self.label
def __repr__(self):
return f"Identifier({self.prefix}_{self.addr:08X},{self.name})"