Add not_implemented_{un,bin} functions, cleanup unused "not implemented" functions

These are specifically functions for the BaseObjInst:: that need some
kind of "not implemented" function for re-use.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2024-09-24 12:46:45 -07:00
parent ef83796ccc
commit a5d106bdfd
3 changed files with 42 additions and 64 deletions

View File

@@ -120,20 +120,20 @@ pub fn init_types(builtins: &mut HashMap<String, ObjP>) {
to_repr => builtins.create_builtin_function("to_repr", BaseObjInst::to_repr, 1),
to_bool => builtins.create_builtin_function("to_bool", BaseObjInst::to_bool, 1),
// Operators
__add__ => builtins.create_builtin_function("__add__", BaseObjInst::add, 2),
__sub__ => builtins.create_builtin_function("__sub__", BaseObjInst::sub, 2),
__mul__ => builtins.create_builtin_function("__mul__", BaseObjInst::mul, 2),
__div__ => builtins.create_builtin_function("__div__", BaseObjInst::div, 2),
__add__ => builtins.create_builtin_function("__add__", BaseObjInst::not_implemented_bin, 2),
__sub__ => builtins.create_builtin_function("__sub__", BaseObjInst::not_implemented_bin, 2),
__mul__ => builtins.create_builtin_function("__mul__", BaseObjInst::not_implemented_bin, 2),
__div__ => builtins.create_builtin_function("__div__", BaseObjInst::not_implemented_bin, 2),
__and__ => builtins.create_builtin_function("__and__", BaseObjInst::and, 2),
__or__ => builtins.create_builtin_function("__or__", BaseObjInst::or, 2),
__ne__ => builtins.create_builtin_function("__ne__", BaseObjInst::ne, 2),
__eq__ => builtins.create_builtin_function("__eq__", BaseObjInst::eq, 2),
__gt__ => builtins.create_builtin_function("__gt__", BaseObjInst::gt, 2),
__ge__ => builtins.create_builtin_function("__ge__", BaseObjInst::ge, 2),
__lt__ => builtins.create_builtin_function("__lt__", BaseObjInst::lt, 2),
__le__ => builtins.create_builtin_function("__le__", BaseObjInst::le, 2),
__pos__ => builtins.create_builtin_function("__pos__", BaseObjInst::pos, 1),
__neg__ => builtins.create_builtin_function("__neg__", BaseObjInst::neg, 1),
__gt__ => builtins.create_builtin_function("__gt__", BaseObjInst::not_implemented_bin, 2),
__ge__ => builtins.create_builtin_function("__ge__", BaseObjInst::not_implemented_bin, 2),
__lt__ => builtins.create_builtin_function("__lt__", BaseObjInst::not_implemented_bin, 2),
__le__ => builtins.create_builtin_function("__le__", BaseObjInst::not_implemented_bin, 2),
__pos__ => builtins.create_builtin_function("__pos__", BaseObjInst::not_implemented_un, 1),
__neg__ => builtins.create_builtin_function("__neg__", BaseObjInst::not_implemented_un, 1),
__not__ => builtins.create_builtin_function("__not__", BaseObjInst::not, 1),
},
Obj { },