blob: f0f19b6dfbc6c2ff8120f03d80c67d714e2bc81f [file] [log] [blame]
Paul Sokolovsky68e7c512014-04-13 11:53:15 +03001#include "nlr.h"
2#include "misc.h"
3#include "mpconfig.h"
4#include "qstr.h"
5#include "obj.h"
6#include "runtime.h"
7#include "runtime0.h"
8#include "builtin.h"
9
10STATIC mp_obj_t op_getitem(mp_obj_t lhs_in, mp_obj_t rhs_in) {
11 mp_obj_type_t *type = mp_obj_get_type(lhs_in);
12 return type->binary_op(MP_BINARY_OP_SUBSCR, lhs_in, rhs_in);
13}
14MP_DEFINE_CONST_FUN_OBJ_2(mp_op_getitem_obj, op_getitem);
15
Paul Sokolovskycd94b382014-04-13 23:41:49 +030016STATIC mp_obj_t op_setitem(mp_obj_t self_in, mp_obj_t key_in, mp_obj_t value_in) {
17 mp_store_subscr(self_in, key_in, value_in);
18 return mp_const_none;
19}
20MP_DEFINE_CONST_FUN_OBJ_3(mp_op_setitem_obj, op_setitem);
21
Paul Sokolovsky68e7c512014-04-13 11:53:15 +030022STATIC mp_obj_t op_contains(mp_obj_t lhs_in, mp_obj_t rhs_in) {
23 mp_obj_type_t *type = mp_obj_get_type(lhs_in);
24 return type->binary_op(MP_BINARY_OP_IN, lhs_in, rhs_in);
25}
26MP_DEFINE_CONST_FUN_OBJ_2(mp_op_contains_obj, op_contains);