mirror of
https://github.com/micropython/micropython.git
synced 2026-01-05 03:30:14 +01:00
Merge remote-tracking branch 'upstream/master' into listsort. Lots of conflict fun.
Conflicts: py/obj.h py/objbool.c py/objboundmeth.c py/objcell.c py/objclass.c py/objclosure.c py/objcomplex.c py/objdict.c py/objexcept.c py/objfun.c py/objgenerator.c py/objinstance.c py/objmodule.c py/objrange.c py/objset.c py/objslice.c
This commit is contained in:
31
py/objlist.c
31
py/objlist.c
@@ -58,6 +58,7 @@ static mp_obj_t list_make_new(mp_obj_t type_in, int n_args, const mp_obj_t *args
|
||||
default:
|
||||
nlr_jump(mp_obj_new_exception_msg_1_arg(MP_QSTR_TypeError, "list takes at most 1 argument, %d given", (void*)(machine_int_t)n_args));
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static mp_obj_t list_binary_op(int op, mp_obj_t lhs, mp_obj_t rhs) {
|
||||
@@ -277,27 +278,28 @@ static MP_DEFINE_CONST_FUN_OBJ_2(list_remove_obj, list_remove);
|
||||
static MP_DEFINE_CONST_FUN_OBJ_1(list_reverse_obj, list_reverse);
|
||||
static MP_DEFINE_CONST_FUN_OBJ_KW(list_sort_obj, list_sort);
|
||||
|
||||
static const mp_method_t list_type_methods[] = {
|
||||
{ "append", &list_append_obj },
|
||||
{ "clear", &list_clear_obj },
|
||||
{ "copy", &list_copy_obj },
|
||||
{ "count", &list_count_obj },
|
||||
{ "index", &list_index_obj },
|
||||
{ "insert", &list_insert_obj },
|
||||
{ "pop", &list_pop_obj },
|
||||
{ "remove", &list_remove_obj },
|
||||
{ "reverse", &list_reverse_obj },
|
||||
{ "sort", &list_sort_obj },
|
||||
{ NULL, NULL }, // end-of-list sentinel
|
||||
};
|
||||
|
||||
const mp_obj_type_t list_type = {
|
||||
.base = { &mp_const_type },
|
||||
.name = "list",
|
||||
.print = list_print,
|
||||
.make_new = list_make_new,
|
||||
.unary_op = NULL,
|
||||
.binary_op = list_binary_op,
|
||||
.getiter = list_getiter,
|
||||
.methods = {
|
||||
{ "append", &list_append_obj },
|
||||
{ "clear", &list_clear_obj },
|
||||
{ "copy", &list_copy_obj },
|
||||
{ "count", &list_count_obj },
|
||||
{ "index", &list_index_obj },
|
||||
{ "insert", &list_insert_obj },
|
||||
{ "pop", &list_pop_obj },
|
||||
{ "remove", &list_remove_obj },
|
||||
{ "reverse", &list_reverse_obj },
|
||||
{ "sort", &list_sort_obj },
|
||||
{ NULL, NULL }, // end-of-list sentinel
|
||||
},
|
||||
.methods = list_type_methods,
|
||||
};
|
||||
|
||||
static mp_obj_list_t *list_new(uint n) {
|
||||
@@ -361,7 +363,6 @@ static const mp_obj_type_t list_it_type = {
|
||||
.base = { &mp_const_type },
|
||||
.name = "list_iterator",
|
||||
.iternext = list_it_iternext,
|
||||
.methods = { { NULL, NULL }, },
|
||||
};
|
||||
|
||||
mp_obj_t mp_obj_new_list_iterator(mp_obj_list_t *list, int cur) {
|
||||
|
||||
Reference in New Issue
Block a user