@@ -52,8 +52,7 @@ typedef struct _mp_obj_base_t mp_obj_base_t;
5252// These fake objects are used to indicate certain things in arguments or return
5353// values, and should only be used when explicitly allowed.
5454//
55- // - MP_OBJ_NULL : used to indicate the absence of an object.
56- // - MP_OBJ_NOT_SUPPORTED : a return value that indicates an unsupported operation.
55+ // - MP_OBJ_NULL : used to indicate the absence of an object, or unsupported operation.
5756// - MP_OBJ_STOP_ITERATION : used instead of throwing a StopIteration, for efficiency.
5857// - MP_OBJ_SENTINEL : used for various internal purposes where one needs
5958// an object which is unique from all other objects, including MP_OBJ_NULL.
@@ -63,14 +62,12 @@ typedef struct _mp_obj_base_t mp_obj_base_t;
6362
6463#if NDEBUG
6564#define MP_OBJ_NULL ((mp_obj_t)0)
66- #define MP_OBJ_NOT_SUPPORTED ((mp_obj_t)0)
6765#define MP_OBJ_STOP_ITERATION ((mp_obj_t)0)
6866#define MP_OBJ_SENTINEL ((mp_obj_t)4)
6967#else
7068#define MP_OBJ_NULL ((mp_obj_t)0)
71- #define MP_OBJ_NOT_SUPPORTED ((mp_obj_t)4)
72- #define MP_OBJ_STOP_ITERATION ((mp_obj_t)8)
73- #define MP_OBJ_SENTINEL ((mp_obj_t)12)
69+ #define MP_OBJ_STOP_ITERATION ((mp_obj_t)4)
70+ #define MP_OBJ_SENTINEL ((mp_obj_t)8)
7471#endif
7572
7673// These macros check for small int, qstr or object, and access small int and qstr values
@@ -256,15 +253,15 @@ struct _mp_obj_type_t {
256253 mp_make_new_fun_t make_new ; // to make an instance of the type
257254
258255 mp_call_fun_t call ;
259- mp_unary_op_fun_t unary_op ; // can return MP_OBJ_NOT_SUPPORTED if op not supported
260- mp_binary_op_fun_t binary_op ; // can return MP_OBJ_NOT_SUPPORTED if op not supported
256+ mp_unary_op_fun_t unary_op ; // can return MP_OBJ_NULL if op not supported
257+ mp_binary_op_fun_t binary_op ; // can return MP_OBJ_NULL if op not supported
261258
262259 mp_load_attr_fun_t load_attr ;
263260 mp_store_attr_fun_t store_attr ; // if value is MP_OBJ_NULL, then delete that attribute
264261
265262 mp_subscr_fun_t subscr ; // implements load, store, delete subscripting
266263 // value=MP_OBJ_NULL means delete, value=MP_OBJ_SENTINEL means load, else store
267- // can return MP_OBJ_NOT_SUPPORTED
264+ // can return MP_OBJ_NULL if op not supported
268265
269266 mp_fun_1_t getiter ;
270267 mp_fun_1_t iternext ; // may return MP_OBJ_STOP_ITERATION as an optimisation instead of raising StopIteration() (with no args)
@@ -483,11 +480,11 @@ typedef struct _mp_obj_float_t {
483480 mp_float_t value ;
484481} mp_obj_float_t ;
485482mp_float_t mp_obj_float_get (mp_obj_t self_in );
486- mp_obj_t mp_obj_float_binary_op (int op , mp_float_t lhs_val , mp_obj_t rhs ); // can return MP_OBJ_NOT_SUPPORTED
483+ mp_obj_t mp_obj_float_binary_op (int op , mp_float_t lhs_val , mp_obj_t rhs ); // can return MP_OBJ_NULL if op not supported
487484
488485// complex
489486void mp_obj_complex_get (mp_obj_t self_in , mp_float_t * real , mp_float_t * imag );
490- mp_obj_t mp_obj_complex_binary_op (int op , mp_float_t lhs_real , mp_float_t lhs_imag , mp_obj_t rhs_in ); // can return MP_OBJ_NOT_SUPPORTED
487+ mp_obj_t mp_obj_complex_binary_op (int op , mp_float_t lhs_real , mp_float_t lhs_imag , mp_obj_t rhs_in ); // can return MP_OBJ_NULL if op not supported
491488#endif
492489
493490// tuple
0 commit comments