aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormryouse2022-07-21 20:32:20 +0000
committermryouse2022-07-21 20:32:20 +0000
commitf459a278783601af03311dfefcedaafb0fecdad6 (patch)
tree9282c9ade8a38ab9f9dfc945f591088619a9744e
parent6374dfe7cd7af01a5270d49f5e314941c36090a5 (diff)
do better at describing function implementations
-rw-r--r--neb/__init__.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/neb/__init__.py b/neb/__init__.py
index 8ac8aeb..5602ebe 100644
--- a/neb/__init__.py
+++ b/neb/__init__.py
@@ -166,6 +166,21 @@ class MultiFunction(Callable):
super().__init__(name, None, None)
self.impls = {}
+ def __str__(self):
+ builtin_count = len(list(x for x in self.impls.values() if isinstance(x, Builtin)))
+ userfunc_count = len(list(x for x in self.impls.values() if isinstance(x, UserFunction)))
+ b = ""
+ uf = ""
+ if builtin_count != 0:
+ b = f"{builtin_count} builtin"
+ if userfunc_count != 0:
+ uf = f"{userfunc_count} user defined"
+ if b != "" and uf != "":
+ desc = f"{b}, {uf}"
+ else:
+ desc = b if b != "" else uf
+ return f"function {self.name} ({desc})"
+
def describe(self):
return [i.describe() for i in self.impls.values()]