summaryrefslogtreecommitdiffstatshomepage
path: root/py/objgenerator.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/objgenerator.c')
-rw-r--r--py/objgenerator.c54
1 files changed, 29 insertions, 25 deletions
diff --git a/py/objgenerator.c b/py/objgenerator.c
index 802fd45bbd..0ab80ca118 100644
--- a/py/objgenerator.c
+++ b/py/objgenerator.c
@@ -70,16 +70,17 @@ STATIC mp_obj_t gen_wrap_call(mp_obj_t self_in, size_t n_args, size_t n_kw, cons
return MP_OBJ_FROM_PTR(o);
}
-const mp_obj_type_t mp_type_gen_wrap = {
- { &mp_type_type },
- .flags = MP_TYPE_FLAG_BINDS_SELF,
- .name = MP_QSTR_generator,
- .call = gen_wrap_call,
- .unary_op = mp_generic_unary_op,
+MP_DEFINE_CONST_OBJ_TYPE(
+ mp_type_gen_wrap,
+ MP_QSTR_generator,
+ MP_TYPE_FLAG_BINDS_SELF,
+ MP_TYPE_NULL_MAKE_NEW,
+ call, gen_wrap_call,
+ unary_op, mp_generic_unary_op
#if MICROPY_PY_FUNCTION_ATTRS
- .attr = mp_obj_fun_bc_attr,
+ , attr, mp_obj_fun_bc_attr
#endif
-};
+ );
/******************************************************************************/
// native generator wrapper
@@ -131,16 +132,17 @@ STATIC mp_obj_t native_gen_wrap_call(mp_obj_t self_in, size_t n_args, size_t n_k
return MP_OBJ_FROM_PTR(o);
}
-const mp_obj_type_t mp_type_native_gen_wrap = {
- { &mp_type_type },
- .flags = MP_TYPE_FLAG_BINDS_SELF,
- .name = MP_QSTR_generator,
- .call = native_gen_wrap_call,
- .unary_op = mp_generic_unary_op,
+MP_DEFINE_CONST_OBJ_TYPE(
+ mp_type_native_gen_wrap,
+ MP_QSTR_generator,
+ MP_TYPE_FLAG_BINDS_SELF,
+ MP_TYPE_NULL_MAKE_NEW,
+ call, native_gen_wrap_call,
+ unary_op, mp_generic_unary_op
#if MICROPY_PY_FUNCTION_ATTRS
- .attr = mp_obj_fun_bc_attr,
+ , attr, mp_obj_fun_bc_attr
#endif
-};
+ );
#endif // MICROPY_EMIT_NATIVE
@@ -357,12 +359,14 @@ STATIC const mp_rom_map_elem_t gen_instance_locals_dict_table[] = {
STATIC MP_DEFINE_CONST_DICT(gen_instance_locals_dict, gen_instance_locals_dict_table);
-const mp_obj_type_t mp_type_gen_instance = {
- { &mp_type_type },
- .name = MP_QSTR_generator,
- .print = gen_instance_print,
- .unary_op = mp_generic_unary_op,
- .getiter = mp_identity_getiter,
- .iternext = gen_instance_iternext,
- .locals_dict = (mp_obj_dict_t *)&gen_instance_locals_dict,
-};
+MP_DEFINE_CONST_OBJ_TYPE(
+ mp_type_gen_instance,
+ MP_QSTR_generator,
+ MP_TYPE_FLAG_NONE,
+ MP_TYPE_NULL_MAKE_NEW,
+ print, gen_instance_print,
+ unary_op, mp_generic_unary_op,
+ getiter, mp_identity_getiter,
+ iternext, gen_instance_iternext,
+ locals_dict, (mp_obj_dict_t *)&gen_instance_locals_dict
+ );