From 834e3f3e71b62ad1bc24c0bb814e0e3f73b74bde Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Fri, 19 May 2023 22:46:04 +0800 Subject: [PATCH] ... --- src/pocketpy.h | 5 ++--- src/vm.h | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/pocketpy.h b/src/pocketpy.h index dbbbe908..464f44bb 100644 --- a/src/pocketpy.h +++ b/src/pocketpy.h @@ -200,10 +200,9 @@ inline void init_builtins(VM* _vm) { }); _vm->bind__repr__(_vm->tp_object, [](VM* vm, PyObject* obj) { - PyObject* self = obj; - if(is_tagged(obj)) self = nullptr; + if(is_tagged(obj)) FATAL_ERROR(); std::stringstream ss; - ss << "<" << OBJ_NAME(vm->_t(self)) << " object at " << std::hex << self << ">"; + ss << "<" << OBJ_NAME(vm->_t(obj)) << " object at " << std::hex << obj << ">"; return VAR(ss.str()); }); diff --git a/src/vm.h b/src/vm.h index d56a606b..65bbbbad 100644 --- a/src/vm.h +++ b/src/vm.h @@ -340,9 +340,8 @@ public: #define BIND_UNARY_SPECIAL(name) \ void bind##name(Type type, PyObject* (*f)(VM* vm, PyObject*)){ \ - PyObject* obj = _t(type); \ _all_types[type].m##name = f; \ - bind_method<0>(obj, #name, [](VM* vm, ArgsView args){ \ + bind_method<0>(_t(type), #name, [](VM* vm, ArgsView args){ \ return vm->_inst_type_info(args[0])->m##name(vm, args[0]); \ }); \ }