diff options
author | Damien George <damien.p.george@gmail.com> | 2014-04-17 23:19:36 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-04-17 23:19:36 +0100 |
commit | ea8d06c39d9c94036e490b300d46f367c9eb78d9 (patch) | |
tree | ce4999f60f6ca57f22e7d536593a6198ceee0695 /py/objtype.c | |
parent | 1e935d8689f3d15dc3bd06f08f2a0305b7e1c7f4 (diff) | |
download | micropython-ea8d06c39d9c94036e490b300d46f367c9eb78d9.tar.gz micropython-ea8d06c39d9c94036e490b300d46f367c9eb78d9.zip |
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.
Diffstat (limited to 'py/objtype.c')
-rw-r--r-- | py/objtype.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/py/objtype.c b/py/objtype.c index c7726035ae..f281f799ed 100644 --- a/py/objtype.c +++ b/py/objtype.c @@ -43,14 +43,14 @@ STATIC mp_obj_t mp_obj_class_lookup(const mp_obj_type_t *type, qstr attr) { // for a const struct, this entry might be NULL if (type->bases_tuple == MP_OBJ_NULL) { - return NULL; + return MP_OBJ_NULL; } uint len; mp_obj_t *items; mp_obj_tuple_get(type->bases_tuple, &len, &items); if (len == 0) { - return NULL; + return MP_OBJ_NULL; } for (uint i = 0; i < len - 1; i++) { assert(MP_OBJ_IS_TYPE(items[i], &mp_type_type)); @@ -133,13 +133,13 @@ STATIC mp_obj_t class_unary_op(int op, mp_obj_t self_in) { mp_obj_class_t *self = self_in; qstr op_name = unary_op_method_name[op]; if (op_name == 0) { - return MP_OBJ_NULL; + return MP_OBJ_NOT_SUPPORTED; } mp_obj_t member = mp_obj_class_lookup(self->base.type, op_name); if (member != MP_OBJ_NULL) { return mp_call_function_1(member, self_in); } else { - return MP_OBJ_NULL; + return MP_OBJ_NOT_SUPPORTED; } } @@ -211,7 +211,7 @@ STATIC mp_obj_t class_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in) { mp_obj_class_t *lhs = lhs_in; qstr op_name = binary_op_method_name[op]; if (op_name == 0) { - return MP_OBJ_NULL; + return MP_OBJ_NOT_SUPPORTED; } mp_obj_t member = mp_obj_class_lookup(lhs->base.type, op_name); if (member != MP_OBJ_NULL) { @@ -221,7 +221,7 @@ STATIC mp_obj_t class_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in) { dest[2] = rhs_in; return mp_call_method_n_kw(1, 0, dest); } else { - return MP_OBJ_NULL; + return MP_OBJ_NOT_SUPPORTED; } } |