From a8408a8abe83c98af50821f1eb1df53cf9d202dd Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Wed, 21 May 2014 22:24:36 +0300 Subject: objtype: super: Fall back to "object" lookup as last resort. Also, define object.__init__() (semantically empty, purely CPython compat measure). Addresses #520. --- py/objobject.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'py/objobject.c') diff --git a/py/objobject.c b/py/objobject.c index 6a1393076..db4fb689c 100644 --- a/py/objobject.c +++ b/py/objobject.c @@ -47,8 +47,24 @@ STATIC mp_obj_t object_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const return o; } +#if MICROPY_CPYTHON_COMPAT +STATIC mp_obj_t object___init__(uint n_args, const mp_obj_t *args) { + return mp_const_none; +} +STATIC MP_DEFINE_CONST_FUN_OBJ_1(object___init___obj, object___init__); +#endif + +STATIC const mp_map_elem_t object_locals_dict_table[] = { + #if MICROPY_CPYTHON_COMPAT + { MP_OBJ_NEW_QSTR(MP_QSTR___init__), (mp_obj_t)&object___init___obj }, + #endif +}; + +STATIC MP_DEFINE_CONST_DICT(object_locals_dict, object_locals_dict_table); + const mp_obj_type_t mp_type_object = { { &mp_type_type }, .name = MP_QSTR_object, .make_new = object_make_new, + .locals_dict = (mp_obj_t)&object_locals_dict, }; -- cgit v1.2.3