diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-04-13 10:39:25 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-04-13 11:34:40 +0300 |
commit | 036ad76659310cd9e2084b67217aa4673562076e (patch) | |
tree | fac55fcc5cce4300f478e9ee8b0edb6ab87df5bd | |
parent | 1a37588e35ac2a585dc528bcb336b7bb1793065f (diff) | |
download | micropython-036ad76659310cd9e2084b67217aa4673562076e.tar.gz micropython-036ad76659310cd9e2084b67217aa4673562076e.zip |
objset: Implement __contains__() op-method.
-rw-r--r-- | py/objset.c | 8 | ||||
-rw-r--r-- | py/qstrdefs.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/py/objset.c b/py/objset.c index 05d064a047..8ff12ba535 100644 --- a/py/objset.c +++ b/py/objset.c @@ -423,6 +423,13 @@ STATIC mp_obj_t set_binary_op(int op, mp_obj_t lhs, mp_obj_t rhs) { } } +// TODO: Move to common file +STATIC mp_obj_t set_contains(mp_obj_t lhs_in, mp_obj_t rhs_in) { + return set_binary_op(MP_BINARY_OP_IN, lhs_in, rhs_in); +} + +STATIC MP_DEFINE_CONST_FUN_OBJ_2(set_contains_obj, set_contains); + /******************************************************************************/ /* set constructors & public C API */ @@ -445,6 +452,7 @@ STATIC const mp_map_elem_t set_locals_dict_table[] = { { MP_OBJ_NEW_QSTR(MP_QSTR_symmetric_difference_update), (mp_obj_t)&set_symmetric_difference_update_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_union), (mp_obj_t)&set_union_obj }, { MP_OBJ_NEW_QSTR(MP_QSTR_update), (mp_obj_t)&set_update_obj }, + { MP_OBJ_NEW_QSTR(MP_QSTR___contains__), (mp_obj_t)&set_contains_obj }, }; STATIC MP_DEFINE_CONST_DICT(set_locals_dict, set_locals_dict_table); diff --git a/py/qstrdefs.h b/py/qstrdefs.h index dbfb469e96..27a48af589 100644 --- a/py/qstrdefs.h +++ b/py/qstrdefs.h @@ -17,6 +17,7 @@ Q(__path__) Q(__repl_print__) Q(__bool__) +Q(__contains__) Q(__enter__) Q(__exit__) Q(__len__) |