diff options
author | Damien George <damien.p.george@gmail.com> | 2014-06-07 22:01:00 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-06-07 22:01:00 +0100 |
commit | f0778a7ccbbdd1d7bf116a6939c7eb05173e1987 (patch) | |
tree | 24a427ad51ea16deacc158a855b8c13b7c98f57c /py/emitglue.c | |
parent | aabd83ea204325cdf45355a5bdc6838745484060 (diff) | |
download | micropython-f0778a7ccbbdd1d7bf116a6939c7eb05173e1987.tar.gz micropython-f0778a7ccbbdd1d7bf116a6939c7eb05173e1987.zip |
py: Implement default keyword only args.
Should finish addressing issue #524.
Diffstat (limited to 'py/emitglue.c')
-rw-r--r-- | py/emitglue.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/py/emitglue.c b/py/emitglue.c index a89ef6766a..f9b9460837 100644 --- a/py/emitglue.c +++ b/py/emitglue.c @@ -119,14 +119,14 @@ mp_obj_t mp_make_function_from_raw_code(mp_raw_code_t *rc, mp_obj_t def_args, mp // def_args must be MP_OBJ_NULL or a tuple assert(def_args == MP_OBJ_NULL || MP_OBJ_IS_TYPE(def_args, &mp_type_tuple)); - // TODO implement default kw args - assert(def_kw_args == MP_OBJ_NULL); + // def_kw_args must be MP_OBJ_NULL or a dict + assert(def_kw_args == MP_OBJ_NULL || MP_OBJ_IS_TYPE(def_kw_args, &mp_type_dict)); // make the function, depending on the raw code kind mp_obj_t fun; switch (rc->kind) { case MP_CODE_BYTECODE: - fun = mp_obj_new_fun_bc(rc->scope_flags, rc->arg_names, rc->n_pos_args, rc->n_kwonly_args, def_args, rc->u_byte.code); + fun = mp_obj_new_fun_bc(rc->scope_flags, rc->arg_names, rc->n_pos_args, rc->n_kwonly_args, def_args, def_kw_args, rc->u_byte.code); break; case MP_CODE_NATIVE_PY: fun = mp_make_function_n(rc->n_pos_args, rc->u_native.fun); |