diff options
author | Damien George <damien.p.george@gmail.com> | 2014-04-17 22:10:53 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-04-17 22:10:53 +0100 |
commit | 729f7b42d65c016c9d5f27fb8a8122869f06c129 (patch) | |
tree | 8d8d8c2a89ff9011b06650c256a2d5f2458c930c /py/opmethods.c | |
parent | de7c425139c92745280b62f7ebb756def96d072a (diff) |
py: Merge BINARY_OP_SUBSCR and store_subscr (w/ delete) into subscr.
mp_obj_t->subscr now does load/store/delete.
Diffstat (limited to 'py/opmethods.c')
-rw-r--r-- | py/opmethods.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/py/opmethods.c b/py/opmethods.c index 27415fef9..a745ec122 100644 --- a/py/opmethods.c +++ b/py/opmethods.c @@ -7,21 +7,21 @@ #include "runtime0.h" #include "builtin.h" -STATIC mp_obj_t op_getitem(mp_obj_t lhs_in, mp_obj_t rhs_in) { - mp_obj_type_t *type = mp_obj_get_type(lhs_in); - return type->binary_op(MP_BINARY_OP_SUBSCR, lhs_in, rhs_in); +STATIC mp_obj_t op_getitem(mp_obj_t self_in, mp_obj_t key_in) { + mp_obj_type_t *type = mp_obj_get_type(self_in); + return type->subscr(self_in, key_in, MP_OBJ_SENTINEL); } MP_DEFINE_CONST_FUN_OBJ_2(mp_op_getitem_obj, op_getitem); STATIC mp_obj_t op_setitem(mp_obj_t self_in, mp_obj_t key_in, mp_obj_t value_in) { - mp_store_subscr(self_in, key_in, value_in); - return mp_const_none; + mp_obj_type_t *type = mp_obj_get_type(self_in); + return type->subscr(self_in, key_in, value_in); } MP_DEFINE_CONST_FUN_OBJ_3(mp_op_setitem_obj, op_setitem); STATIC mp_obj_t op_delitem(mp_obj_t self_in, mp_obj_t key_in) { - mp_store_subscr(self_in, key_in, MP_OBJ_NULL); - return mp_const_none; + mp_obj_type_t *type = mp_obj_get_type(self_in); + return type->subscr(self_in, key_in, MP_OBJ_NULL); } MP_DEFINE_CONST_FUN_OBJ_2(mp_op_delitem_obj, op_delitem); |