@@ -89,7 +89,7 @@ STATIC mp_obj_t list_make_new(const mp_obj_type_t *type_in, size_t n_args, size_
89
89
90
90
// Don't pass MP_BINARY_OP_NOT_EQUAL here
91
91
STATIC bool list_cmp_helper (mp_uint_t op , mp_obj_t self_in , mp_obj_t another_in ) {
92
- assert (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
92
+ mp_check_self (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
93
93
if (!MP_OBJ_IS_TYPE (another_in , & mp_type_list )) {
94
94
return false;
95
95
}
@@ -156,7 +156,7 @@ STATIC mp_obj_t list_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
156
156
mp_obj_list_t * self = MP_OBJ_TO_PTR (self_in );
157
157
mp_bound_slice_t slice ;
158
158
if (!mp_seq_get_fast_slice_indexes (self -> len , index , & slice )) {
159
- assert ( 0 );
159
+ mp_not_implemented ( "" );
160
160
}
161
161
162
162
mp_int_t len_adj = slice .start - slice .stop ;
@@ -192,11 +192,11 @@ STATIC mp_obj_t list_subscr(mp_obj_t self_in, mp_obj_t index, mp_obj_t value) {
192
192
#if MICROPY_PY_BUILTINS_SLICE
193
193
if (MP_OBJ_IS_TYPE (index , & mp_type_slice )) {
194
194
mp_obj_list_t * self = MP_OBJ_TO_PTR (self_in );
195
- assert (MP_OBJ_IS_TYPE (value , & mp_type_list ));
195
+ mp_check_self (MP_OBJ_IS_TYPE (value , & mp_type_list ));
196
196
mp_obj_list_t * slice = MP_OBJ_TO_PTR (value );
197
197
mp_bound_slice_t slice_out ;
198
198
if (!mp_seq_get_fast_slice_indexes (self -> len , index , & slice_out )) {
199
- assert ( 0 );
199
+ mp_not_implemented ( "" );
200
200
}
201
201
mp_int_t len_adj = slice -> len - (slice_out .stop - slice_out .start );
202
202
//printf("Len adj: %d\n", len_adj);
@@ -230,7 +230,7 @@ STATIC mp_obj_t list_getiter(mp_obj_t o_in) {
230
230
}
231
231
232
232
mp_obj_t mp_obj_list_append (mp_obj_t self_in , mp_obj_t arg ) {
233
- assert (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
233
+ mp_check_self (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
234
234
mp_obj_list_t * self = MP_OBJ_TO_PTR (self_in );
235
235
if (self -> len >= self -> alloc ) {
236
236
self -> items = m_renew (mp_obj_t , self -> items , self -> alloc , self -> alloc * 2 );
@@ -242,7 +242,7 @@ mp_obj_t mp_obj_list_append(mp_obj_t self_in, mp_obj_t arg) {
242
242
}
243
243
244
244
STATIC mp_obj_t list_extend (mp_obj_t self_in , mp_obj_t arg_in ) {
245
- assert (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
245
+ mp_check_self (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
246
246
if (MP_OBJ_IS_TYPE (arg_in , & mp_type_list )) {
247
247
mp_obj_list_t * self = MP_OBJ_TO_PTR (self_in );
248
248
mp_obj_list_t * arg = MP_OBJ_TO_PTR (arg_in );
@@ -263,8 +263,7 @@ STATIC mp_obj_t list_extend(mp_obj_t self_in, mp_obj_t arg_in) {
263
263
}
264
264
265
265
STATIC mp_obj_t list_pop (size_t n_args , const mp_obj_t * args ) {
266
- assert (1 <= n_args && n_args <= 2 );
267
- assert (MP_OBJ_IS_TYPE (args [0 ], & mp_type_list ));
266
+ mp_check_self (MP_OBJ_IS_TYPE (args [0 ], & mp_type_list ));
268
267
mp_obj_list_t * self = MP_OBJ_TO_PTR (args [0 ]);
269
268
if (self -> len == 0 ) {
270
269
nlr_raise (mp_obj_new_exception_msg (& mp_type_IndexError , "pop from empty list" ));
@@ -324,7 +323,7 @@ mp_obj_t mp_obj_list_sort(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_
324
323
mp_arg_parse_all (n_args - 1 , pos_args + 1 , kw_args ,
325
324
MP_ARRAY_SIZE (allowed_args ), allowed_args , (mp_arg_val_t * )& args );
326
325
327
- assert (MP_OBJ_IS_TYPE (pos_args [0 ], & mp_type_list ));
326
+ mp_check_self (MP_OBJ_IS_TYPE (pos_args [0 ], & mp_type_list ));
328
327
mp_obj_list_t * self = MP_OBJ_TO_PTR (pos_args [0 ]);
329
328
330
329
if (self -> len > 1 ) {
@@ -337,7 +336,7 @@ mp_obj_t mp_obj_list_sort(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_
337
336
}
338
337
339
338
STATIC mp_obj_t list_clear (mp_obj_t self_in ) {
340
- assert (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
339
+ mp_check_self (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
341
340
mp_obj_list_t * self = MP_OBJ_TO_PTR (self_in );
342
341
self -> len = 0 ;
343
342
self -> items = m_renew (mp_obj_t , self -> items , self -> alloc , LIST_MIN_ALLOC );
@@ -347,26 +346,25 @@ STATIC mp_obj_t list_clear(mp_obj_t self_in) {
347
346
}
348
347
349
348
STATIC mp_obj_t list_copy (mp_obj_t self_in ) {
350
- assert (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
349
+ mp_check_self (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
351
350
mp_obj_list_t * self = MP_OBJ_TO_PTR (self_in );
352
351
return mp_obj_new_list (self -> len , self -> items );
353
352
}
354
353
355
354
STATIC mp_obj_t list_count (mp_obj_t self_in , mp_obj_t value ) {
356
- assert (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
355
+ mp_check_self (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
357
356
mp_obj_list_t * self = MP_OBJ_TO_PTR (self_in );
358
357
return mp_seq_count_obj (self -> items , self -> len , value );
359
358
}
360
359
361
360
STATIC mp_obj_t list_index (size_t n_args , const mp_obj_t * args ) {
362
- assert (2 <= n_args && n_args <= 4 );
363
- assert (MP_OBJ_IS_TYPE (args [0 ], & mp_type_list ));
361
+ mp_check_self (MP_OBJ_IS_TYPE (args [0 ], & mp_type_list ));
364
362
mp_obj_list_t * self = MP_OBJ_TO_PTR (args [0 ]);
365
363
return mp_seq_index_obj (self -> items , self -> len , n_args , args );
366
364
}
367
365
368
366
STATIC mp_obj_t list_insert (mp_obj_t self_in , mp_obj_t idx , mp_obj_t obj ) {
369
- assert (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
367
+ mp_check_self (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
370
368
mp_obj_list_t * self = MP_OBJ_TO_PTR (self_in );
371
369
// insert has its own strange index logic
372
370
mp_int_t index = MP_OBJ_SMALL_INT_VALUE (idx );
@@ -391,7 +389,7 @@ STATIC mp_obj_t list_insert(mp_obj_t self_in, mp_obj_t idx, mp_obj_t obj) {
391
389
}
392
390
393
391
mp_obj_t mp_obj_list_remove (mp_obj_t self_in , mp_obj_t value ) {
394
- assert (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
392
+ mp_check_self (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
395
393
mp_obj_t args [] = {self_in , value };
396
394
args [1 ] = list_index (2 , args );
397
395
list_pop (2 , args );
@@ -400,7 +398,7 @@ mp_obj_t mp_obj_list_remove(mp_obj_t self_in, mp_obj_t value) {
400
398
}
401
399
402
400
STATIC mp_obj_t list_reverse (mp_obj_t self_in ) {
403
- assert (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
401
+ mp_check_self (MP_OBJ_IS_TYPE (self_in , & mp_type_list ));
404
402
mp_obj_list_t * self = MP_OBJ_TO_PTR (self_in );
405
403
406
404
mp_int_t len = self -> len ;
0 commit comments