diff options
Diffstat (limited to 'py')
-rw-r--r-- | py/argcheck.c | 12 | ||||
-rw-r--r-- | py/runtime.h | 28 |
2 files changed, 20 insertions, 20 deletions
diff --git a/py/argcheck.c b/py/argcheck.c index aea71d0bd8..bfaa5764f5 100644 --- a/py/argcheck.c +++ b/py/argcheck.c @@ -34,12 +34,12 @@ void mp_arg_check_num(uint n_args, uint n_kw, uint n_args_min, uint n_args_max, } } -void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_allowed, const mp_arg_parse_t *allowed, mp_arg_parse_val_t *out_vals) { +void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_allowed, const mp_arg_t *allowed, mp_arg_val_t *out_vals) { uint pos_found = 0, kws_found = 0; for (uint i = 0; i < n_allowed; i++) { mp_obj_t given_arg; if (i < n_pos) { - if (allowed[i].flags & MP_ARG_PARSE_KW_ONLY) { + if (allowed[i].flags & MP_ARG_KW_ONLY) { goto extra_positional; } pos_found++; @@ -47,7 +47,7 @@ void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_all } else { mp_map_elem_t *kw = mp_map_lookup(kws, MP_OBJ_NEW_QSTR(allowed[i].qstr), MP_MAP_LOOKUP); if (kw == NULL) { - if (allowed[i].flags & MP_ARG_PARSE_REQUIRED) { + if (allowed[i].flags & MP_ARG_REQUIRED) { nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_TypeError, "'%s' argument required", qstr_str(allowed[i].qstr))); } out_vals[i] = allowed[i].defval; @@ -57,11 +57,11 @@ void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_all given_arg = kw->value; } } - if ((allowed[i].flags & MP_ARG_PARSE_KIND_MASK) == MP_ARG_PARSE_BOOL) { + if ((allowed[i].flags & MP_ARG_KIND_MASK) == MP_ARG_BOOL) { out_vals[i].u_bool = mp_obj_is_true(given_arg); - } else if ((allowed[i].flags & MP_ARG_PARSE_KIND_MASK) == MP_ARG_PARSE_INT) { + } else if ((allowed[i].flags & MP_ARG_KIND_MASK) == MP_ARG_INT) { out_vals[i].u_int = mp_obj_get_int(given_arg); - } else if ((allowed[i].flags & MP_ARG_PARSE_KIND_MASK) == MP_ARG_PARSE_OBJ) { + } else if ((allowed[i].flags & MP_ARG_KIND_MASK) == MP_ARG_OBJ) { out_vals[i].u_obj = given_arg; } else { assert(0); diff --git a/py/runtime.h b/py/runtime.h index 5ce4bbc5e1..0ec12082a6 100644 --- a/py/runtime.h +++ b/py/runtime.h @@ -5,31 +5,31 @@ typedef enum { } mp_vm_return_kind_t; typedef enum { - MP_ARG_PARSE_BOOL = 0x001, - MP_ARG_PARSE_INT = 0x002, - MP_ARG_PARSE_OBJ = 0x003, - MP_ARG_PARSE_KIND_MASK = 0x0ff, - MP_ARG_PARSE_REQUIRED = 0x100, - MP_ARG_PARSE_KW_ONLY = 0x200, -} mp_arg_parse_flag_t; - -typedef union _mp_arg_parse_val_t { + MP_ARG_BOOL = 0x001, + MP_ARG_INT = 0x002, + MP_ARG_OBJ = 0x003, + MP_ARG_KIND_MASK = 0x0ff, + MP_ARG_REQUIRED = 0x100, + MP_ARG_KW_ONLY = 0x200, +} mp_arg_flag_t; + +typedef union _mp_arg_val_t { bool u_bool; machine_int_t u_int; mp_obj_t u_obj; -} mp_arg_parse_val_t; +} mp_arg_val_t; -typedef struct _mp_arg_parse_t { +typedef struct _mp_arg_t { qstr qstr; machine_uint_t flags; - mp_arg_parse_val_t defval; -} mp_arg_parse_t; + mp_arg_val_t defval; +} mp_arg_t; void mp_init(void); void mp_deinit(void); void mp_arg_check_num(uint n_args, uint n_kw, uint n_args_min, uint n_args_max, bool takes_kw); -void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_allowed, const mp_arg_parse_t *allowed, mp_arg_parse_val_t *out_vals); +void mp_arg_parse_all(uint n_pos, const mp_obj_t *pos, mp_map_t *kws, uint n_allowed, const mp_arg_t *allowed, mp_arg_val_t *out_vals); mp_obj_dict_t *mp_locals_get(void); void mp_locals_set(mp_obj_dict_t *d); |