objsingleton: New home for Ellipsis and NotImplemented.

Having NotImplemented as MP_OBJ_SENTINEL turned out to be problematic
(it needs to be checked for in a lot of places, otherwise it'll crash
as would pass MP_OBJ_IS_OBJ()), so made a proper singleton value like
Ellipsis, both of them sharing the same type.
This commit is contained in:
Paul Sokolovsky
2015-05-05 22:18:07 +03:00
parent e04aa96b4d
commit 7667727021
6 changed files with 61 additions and 31 deletions

View File

@@ -635,7 +635,7 @@ STATIC const mp_map_elem_t mp_module_builtins_globals_table[] = {
// built-in objects
{ MP_OBJ_NEW_QSTR(MP_QSTR_Ellipsis), (mp_obj_t)&mp_const_ellipsis_obj },
#if MICROPY_PY_BUILTINS_NOTIMPLEMENTED
{ MP_OBJ_NEW_QSTR(MP_QSTR_NotImplemented), MP_OBJ_SENTINEL },
{ MP_OBJ_NEW_QSTR(MP_QSTR_NotImplemented), (mp_obj_t)&mp_const_notimplemented_obj },
#endif
// built-in user functions