Fix ConversionPoint.__repr__ on objects that does not have __qualname__

This commit is contained in:
2025-08-04 22:43:40 +03:00
parent 849d6094a9
commit 42b0badc65
2 changed files with 12 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
[project]
name = "breakshaft"
version = "0.1.3.post1"
version = "0.1.3.post2"
description = "Library for in-time codegen for type conversion"
authors = [
{ name = "nikto_b", email = "niktob560@yandex.ru" }

View File

@@ -31,7 +31,17 @@ class ConversionPoint:
return hash((self.fn, self.injects, self.requires))
def __repr__(self):
return f'({",".join(map(str, self.requires))}) -> {self.injects.__qualname__}: {self.fn.__qualname__}'
if '__qualname__' in dir(self.injects):
injects_name = self.injects.__qualname__
else:
injects_name = str(self.injects)
if '__qualname__' in dir(self.fn):
fn_name = self.fn.__qualname__
else:
fn_name = str(self.fn)
return f'({",".join(map(str, self.requires))}) -> {injects_name}: {fn_name}'
@property
def fn_args(self) -> list[tuple[str, type]]: