From 42b0badc6502cdaef3e8cefc6ad0e1232dfc108c Mon Sep 17 00:00:00 2001 From: nikto_b Date: Mon, 4 Aug 2025 22:43:40 +0300 Subject: [PATCH] Fix `ConversionPoint.__repr__` on objects that does not have `__qualname__` --- pyproject.toml | 2 +- src/breakshaft/models.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5f14d58..7c88694 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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" } diff --git a/src/breakshaft/models.py b/src/breakshaft/models.py index a95b76a..7a20ed5 100644 --- a/src/breakshaft/models.py +++ b/src/breakshaft/models.py @@ -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]]: