objtype: super: Fall back to "object" lookup as last resort.

Also, define object.__init__() (semantically empty, purely CPython compat
measure). Addresses #520.
This commit is contained in:
Paul Sokolovsky
2014-05-21 22:24:36 +03:00
parent 6a410789b8
commit a8408a8abe
3 changed files with 32 additions and 0 deletions

View File

@@ -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,
};