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:
@@ -37,7 +37,7 @@ mp_obj_t mp_obj_int_unary_op(int op, mp_obj_t o_in) {
|
||||
case MP_UNARY_OP_POSITIVE: return o_in;
|
||||
case MP_UNARY_OP_NEGATIVE: return mp_obj_new_int_from_ll(-o->val);
|
||||
case MP_UNARY_OP_INVERT: return mp_obj_new_int_from_ll(~o->val);
|
||||
default: return NULL; // op not supported
|
||||
default: return MP_OBJ_NOT_SUPPORTED;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ mp_obj_t mp_obj_int_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in) {
|
||||
} else if (MP_OBJ_IS_TYPE(lhs_in, &mp_type_int)) {
|
||||
lhs_val = ((mp_obj_int_t*)lhs_in)->val;
|
||||
} else {
|
||||
return MP_OBJ_NULL;
|
||||
return MP_OBJ_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
if (MP_OBJ_IS_SMALL_INT(rhs_in)) {
|
||||
@@ -108,8 +108,7 @@ mp_obj_t mp_obj_int_binary_op(int op, mp_obj_t lhs_in, mp_obj_t rhs_in) {
|
||||
return MP_BOOL(lhs_val == rhs_val);
|
||||
|
||||
default:
|
||||
// op not supported
|
||||
return MP_OBJ_NULL;
|
||||
return MP_OBJ_NOT_SUPPORTED;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user