diff options
| author | Damien George <damien.p.george@gmail.com> | 2014-04-08 21:11:49 +0100 | 
|---|---|---|
| committer | Damien George <damien.p.george@gmail.com> | 2014-04-08 21:11:49 +0100 | 
| commit | 1d24ea5207ba4b62b20dbba22ab2800496418463 (patch) | |
| tree | 0ac953019f01f030778f2bc6381b69884e7124be /py/runtime.c | |
| parent | 134c10e776a5d75cfdd6bf98697cb50d7da7adf6 (diff) | |
py: Finish implementation of all del opcodes.
At this point, all opcodes are now implemented!
Some del opcodes have been combined with store opcodes, with the value
to store being MP_OBJ_NULL.
Diffstat (limited to 'py/runtime.c')
| -rw-r--r-- | py/runtime.c | 10 | 
1 files changed, 8 insertions, 2 deletions
| diff --git a/py/runtime.c b/py/runtime.c index 3d1ae72c2..3400d8dc8 100644 --- a/py/runtime.c +++ b/py/runtime.c @@ -132,8 +132,8 @@ void mp_store_name(qstr qstr, mp_obj_t obj) {  void mp_delete_name(qstr qstr) {      DEBUG_OP_printf("delete name %s\n", qstr_str(qstr)); -    // TODO raise NameError if qstr not found -    mp_map_lookup(&dict_locals->map, MP_OBJ_NEW_QSTR(qstr), MP_MAP_LOOKUP_REMOVE_IF_FOUND); +    // TODO convert KeyError to NameError if qstr not found +    mp_obj_dict_delete(dict_locals, MP_OBJ_NEW_QSTR(qstr));  }  void mp_store_global(qstr qstr, mp_obj_t obj) { @@ -141,6 +141,12 @@ void mp_store_global(qstr qstr, mp_obj_t obj) {      mp_obj_dict_store(dict_globals, MP_OBJ_NEW_QSTR(qstr), obj);  } +void mp_delete_global(qstr qstr) { +    DEBUG_OP_printf("delete global %s\n", qstr_str(qstr)); +    // TODO convert KeyError to NameError if qstr not found +    mp_obj_dict_delete(dict_globals, MP_OBJ_NEW_QSTR(qstr)); +} +  mp_obj_t mp_unary_op(int op, mp_obj_t arg) {      DEBUG_OP_printf("unary %d %p\n", op, arg); | 
