diff options
| author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-02-01 15:05:04 +0200 |
|---|---|---|
| committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-02-01 15:38:22 +0200 |
| commit | 90750029df8d7fd24600cc4fe4c98a5b80731f28 (patch) | |
| tree | 7e04bc8f0a079b79a7efcd634615ef3204f3f0ac /py/obj.h | |
| parent | 532f2c30f66c9ff1e4f2aded29b98ba0db5ec341 (diff) | |
Implement default function arguments (for Python functions).
TODO: Decide if we really need separate bytecode for creating functions
with default arguments - we would need same for closures, then there're
keywords arguments too. Having all combinations is a small exponential
explosion, likely we need just 2 cases - simplest (no defaults, no kw),
and full - defaults & kw.
Diffstat (limited to 'py/obj.h')
| -rw-r--r-- | py/obj.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -221,7 +221,7 @@ mp_obj_t mp_obj_new_exception_msg_2_args(qstr id, const char *fmt, const char *a mp_obj_t mp_obj_new_exception_msg_varg(qstr id, const char *fmt, ...); // counts args by number of % symbols in fmt, excluding %%; can only handle void* sizes (ie no float/double!) mp_obj_t mp_obj_new_range(int start, int stop, int step); mp_obj_t mp_obj_new_range_iterator(int cur, int stop, int step); -mp_obj_t mp_obj_new_fun_bc(int n_args, uint n_state, const byte *code); +mp_obj_t mp_obj_new_fun_bc(int n_args, mp_obj_t def_args, uint n_state, const byte *code); mp_obj_t mp_obj_new_fun_asm(uint n_args, void *fun); mp_obj_t mp_obj_new_gen_wrap(mp_obj_t fun); mp_obj_t mp_obj_new_gen_instance(const byte *bytecode, uint n_state, int n_args, const mp_obj_t *args); |
