Commit 46a6592f authored by Damien George's avatar Damien George
Browse files

py/emitglue: Refactor to remove assert(0), to improve coverage.

parent e4af7121
...@@ -126,10 +126,6 @@ mp_obj_t mp_make_function_from_raw_code(const mp_raw_code_t *rc, mp_obj_t def_ar ...@@ -126,10 +126,6 @@ mp_obj_t mp_make_function_from_raw_code(const mp_raw_code_t *rc, mp_obj_t def_ar
// make the function, depending on the raw code kind // make the function, depending on the raw code kind
mp_obj_t fun; mp_obj_t fun;
switch (rc->kind) { switch (rc->kind) {
case MP_CODE_BYTECODE:
no_other_choice:
fun = mp_obj_new_fun_bc(def_args, def_kw_args, rc->data.u_byte.bytecode, rc->data.u_byte.const_table);
break;
#if MICROPY_EMIT_NATIVE #if MICROPY_EMIT_NATIVE
case MP_CODE_NATIVE_PY: case MP_CODE_NATIVE_PY:
fun = mp_obj_new_fun_native(def_args, def_kw_args, rc->data.u_native.fun_data, rc->data.u_native.const_table); fun = mp_obj_new_fun_native(def_args, def_kw_args, rc->data.u_native.fun_data, rc->data.u_native.const_table);
...@@ -144,9 +140,10 @@ mp_obj_t mp_make_function_from_raw_code(const mp_raw_code_t *rc, mp_obj_t def_ar ...@@ -144,9 +140,10 @@ mp_obj_t mp_make_function_from_raw_code(const mp_raw_code_t *rc, mp_obj_t def_ar
break; break;
#endif #endif
default: default:
// raw code was never set (this should not happen) // rc->kind should always be set and BYTECODE is the only remaining case
assert(0); assert(rc->kind == MP_CODE_BYTECODE);
goto no_other_choice; // to help flow control analysis fun = mp_obj_new_fun_bc(def_args, def_kw_args, rc->data.u_byte.bytecode, rc->data.u_byte.const_table);
break;
} }
// check for generator functions and if so wrap in generator object // check for generator functions and if so wrap in generator object
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment