diff options
author | Damien George <damien.p.george@gmail.com> | 2014-01-21 21:54:15 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-01-21 21:54:15 +0000 |
commit | 12eaccacda83a15500dae4616b3c37deecb57182 (patch) | |
tree | 5ec75424388c0be9e3591f981982d891c07669cc /py/obj.c | |
parent | 55baff4c9bcbc001cbb8972c289ebfa356d4665b (diff) | |
parent | 7280f790881fa174e4d234266ff42f0fe3d847bc (diff) |
Merge branch 'master' of github.com:micropython/micropython
Conflicts:
py/objstr.c
py/py.mk
py/stream.c
unix/main.c
unix/socket.c
Diffstat (limited to 'py/obj.c')
-rw-r--r-- | py/obj.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -28,6 +28,8 @@ mp_obj_t mp_obj_get_type(mp_obj_t o_in) { const char *mp_obj_get_type_str(mp_obj_t o_in) { if (MP_OBJ_IS_SMALL_INT(o_in)) { return "int"; + } else if (MP_OBJ_IS_QSTR(o_in)) { + return "str"; } else { mp_obj_base_t *o = o_in; return o->type->name; @@ -222,7 +224,9 @@ void mp_obj_get_complex(mp_obj_t arg, mp_float_t *real, mp_float_t *imag) { #endif qstr mp_obj_get_qstr(mp_obj_t arg) { - if (MP_OBJ_IS_TYPE(arg, &str_type)) { + if (MP_OBJ_IS_QSTR(arg)) { + return MP_OBJ_QSTR_VALUE(arg); + } else if (MP_OBJ_IS_TYPE(arg, &str_type)) { return mp_obj_str_get(arg); } else { assert(0); @@ -286,3 +290,9 @@ mp_obj_t mp_obj_len_maybe(mp_obj_t o_in) { } return MP_OBJ_NEW_SMALL_INT(len); } + +// Return input argument. Useful as .getiter for objects which are +// their own iterators, etc. +mp_obj_t mp_identity(mp_obj_t self) { + return self; +} |