summaryrefslogtreecommitdiff
path: root/py/objnamedtuple.c
diff options
context:
space:
mode:
authorJim Mussared <jim.mussared@gmail.com>2019-09-26 22:52:04 +1000
committerDamien George <damien.p.george@gmail.com>2020-04-05 14:11:51 +1000
commita9a745e4b4838749a47857f1d0c95de52dc85f58 (patch)
tree60469e58476c5a68999ad0a2e8d58dbca8a6abb8 /py/objnamedtuple.c
parent312c699491830daacd33f032a6d6fc6cc6ff0c96 (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.c44
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];
}