diff options
author | Jim Mussared <jim.mussared@gmail.com> | 2019-09-26 22:52:04 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2020-04-05 14:11:51 +1000 |
commit | a9a745e4b4838749a47857f1d0c95de52dc85f58 (patch) | |
tree | 60469e58476c5a68999ad0a2e8d58dbca8a6abb8 /py/objnamedtuple.c | |
parent | 312c699491830daacd33f032a6d6fc6cc6ff0c96 (diff) |
py: Use preprocessor to detect error reporting level (terse/detailed).
Instead of compiler-level if-logic. This is necessary to know what error
strings are included in the build at the preprocessor stage, so that string
compression can be implemented.
Diffstat (limited to 'py/objnamedtuple.c')
-rw-r--r-- | py/objnamedtuple.c | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/py/objnamedtuple.c b/py/objnamedtuple.c index a4ac19f6c..dacf5d64c 100644 --- a/py/objnamedtuple.c +++ b/py/objnamedtuple.c @@ -95,17 +95,17 @@ STATIC mp_obj_t namedtuple_make_new(const mp_obj_type_t *type_in, size_t n_args, const mp_obj_namedtuple_type_t *type = (const mp_obj_namedtuple_type_t *)type_in; size_t num_fields = type->n_fields; if (n_args + n_kw != num_fields) { - if (MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE) { - mp_arg_error_terse_mismatch(); - } else if (MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_NORMAL) { - mp_raise_msg_varg(&mp_type_TypeError, - "function takes %d positional arguments but %d were given", - num_fields, n_args + n_kw); - } else if (MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_DETAILED) { - mp_raise_msg_varg(&mp_type_TypeError, - "%q() takes %d positional arguments but %d were given", - type->base.name, num_fields, n_args + n_kw); - } + #if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE + mp_arg_error_terse_mismatch(); + #elif MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_NORMAL + mp_raise_msg_varg(&mp_type_TypeError, + "function takes %d positional arguments but %d were given", + num_fields, n_args + n_kw); + #elif MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_DETAILED + mp_raise_msg_varg(&mp_type_TypeError, + "%q() takes %d positional arguments but %d were given", + type->base.name, num_fields, n_args + n_kw); + #endif } // Create a tuple and set the type to this namedtuple @@ -121,19 +121,19 @@ STATIC mp_obj_t namedtuple_make_new(const mp_obj_type_t *type_in, size_t n_args, qstr kw = mp_obj_str_get_qstr(args[i]); size_t id = mp_obj_namedtuple_find_field(type, kw); if (id == (size_t)-1) { - if (MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE) { - mp_arg_error_terse_mismatch(); - } else { - mp_raise_msg_varg(&mp_type_TypeError, "unexpected keyword argument '%q'", kw); - } + #if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE + mp_arg_error_terse_mismatch(); + #else + mp_raise_msg_varg(&mp_type_TypeError, "unexpected keyword argument '%q'", kw); + #endif } if (tuple->items[id] != MP_OBJ_NULL) { - if (MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE) { - mp_arg_error_terse_mismatch(); - } else { - mp_raise_msg_varg(&mp_type_TypeError, - "function got multiple values for argument '%q'", kw); - } + #if MICROPY_ERROR_REPORTING == MICROPY_ERROR_REPORTING_TERSE + mp_arg_error_terse_mismatch(); + #else + mp_raise_msg_varg(&mp_type_TypeError, + "function got multiple values for argument '%q'", kw); + #endif } tuple->items[id] = args[i + 1]; } |