py: Add MP_OBJ_STOP_ITERATION and make good use of it.

Also make consistent use of MP_OBJ_NOT_SUPPORTED and MP_OBJ_NULL.
This helps a lot in debugging and understanding of function API.
This commit is contained in:
Damien George
2014-04-17 23:19:36 +01:00
parent 1e935d8689
commit ea8d06c39d
28 changed files with 130 additions and 121 deletions

View File

@@ -26,8 +26,8 @@ STATIC mp_obj_t it_iternext(mp_obj_t self_in) {
} else {
// an exception was raised
if (mp_obj_get_type(nlr.ret_val) == &mp_type_StopIteration) {
// return MP_OBJ_NULL instead of raising StopIteration
return MP_OBJ_NULL;
// return MP_OBJ_STOP_ITERATION instead of raising StopIteration
return MP_OBJ_STOP_ITERATION;
} else {
// re-raise exception
nlr_raise(nlr.ret_val);