@@ -711,15 +711,15 @@ def register_int_ptr_type(convertor, *types):
711711
712712typedef struct mp_lv_obj_type_t {{
713713 const lv_obj_class_t *lv_obj_class;
714- mp_obj_type_t mp_obj_type;
714+ const mp_obj_type_t * mp_obj_type;
715715}} mp_lv_obj_type_t;
716716
717717STATIC const mp_lv_obj_type_t mp_lv_{base_obj}_type;
718718STATIC const mp_lv_obj_type_t *mp_lv_obj_types[];
719719
720720STATIC inline const mp_obj_type_t *get_BaseObj_type()
721721{{
722- return & mp_lv_{base_obj}_type.mp_obj_type;
722+ return mp_lv_{base_obj}_type.mp_obj_type;
723723}}
724724
725725MP_DEFINE_EXCEPTION(LvReferenceError, Exception)
@@ -931,7 +931,7 @@ def register_int_ptr_type(convertor, *types):
931931 const mp_lv_obj_type_t **iter = &mp_lv_obj_types[0];
932932 for (; *iter; iter++) {
933933 if ((*iter)->lv_obj_class == lv_obj_class) {
934- mp_obj_type = & (*iter)->mp_obj_type;
934+ mp_obj_type = (*iter)->mp_obj_type;
935935 break;
936936 }
937937 }
@@ -1033,7 +1033,7 @@ def register_int_ptr_type(convertor, *types):
10331033#else // LV_OBJ_T
10341034
10351035typedef struct mp_lv_obj_type_t {
1036- mp_obj_type_t mp_obj_type;
1036+ mp_obj_type_t * mp_obj_type;
10371037} mp_lv_obj_type_t;
10381038
10391039#endif
@@ -2555,7 +2555,7 @@ def gen_obj_methods(obj_name):
25552555 obj_metadata [obj_name ]['members' ].update ({get_enum_member_name (enum_member_name ): {'type' :'enum_member' } for enum_member_name in get_enum_members (obj_name )})
25562556 # add enums that match object name
25572557 obj_enums = [enum_name for enum_name in enums .keys () if is_method_of (enum_name , obj_name )]
2558- enum_types = ["{{ MP_ROM_QSTR(MP_QSTR_{name}), MP_ROM_PTR(&mp_lv_{enum}_type.mp_obj_type ) }}" .
2558+ enum_types = ["{{ MP_ROM_QSTR(MP_QSTR_{name}), MP_ROM_PTR(&mp_lv_{enum}_type_base ) }}" .
25592559 format (name = sanitize (method_name_from_func_name (enum_name )), enum = enum_name ) for enum_name in obj_enums ]
25602560 obj_metadata [obj_name ]['members' ].update ({method_name_from_func_name (enum_name ): {'type' :'enum_type' } for enum_name in obj_enums })
25612561 for enum_name in obj_enums :
@@ -2633,11 +2633,11 @@ def gen_obj(obj_name):
26332633 locals_dict, &{obj}_locals_dict
26342634);
26352635
2636- STATIC const mp_lv_obj_type_t mp_lv_{obj}_type = {{
2636+ GENMPY_UNUSED STATIC const mp_lv_obj_type_t mp_lv_{obj}_type = {{
26372637#ifdef LV_OBJ_T
26382638 .lv_obj_class = {lv_class},
26392639#endif
2640- .mp_obj_type = mp_lv_{obj}_type_base,
2640+ .mp_obj_type = & mp_lv_{obj}_type_base,
26412641}};
26422642 """ .format (
26432643 module_name = module_name ,
@@ -2648,7 +2648,7 @@ def gen_obj(obj_name):
26482648 make_new = 'make_new, %s_make_new,' % obj_name if is_obj else '' ,
26492649 binary_op = 'binary_op, mp_lv_obj_binary_op,' if is_obj else '' ,
26502650 buffer = 'buffer, mp_lv_obj_get_buffer,' if is_obj else '' ,
2651- parent = 'parent, &mp_lv_%s_type.mp_obj_type ,' % parent_obj_names [obj_name ] if obj_name in parent_obj_names and parent_obj_names [obj_name ] else '' ,
2651+ parent = 'parent, &mp_lv_%s_type_base ,' % parent_obj_names [obj_name ] if obj_name in parent_obj_names and parent_obj_names [obj_name ] else '' ,
26522652 lv_class = '&lv_%s_class' % obj_name if is_obj else 'NULL' ,
26532653 ))
26542654
@@ -2888,11 +2888,11 @@ def generate_struct_functions(struct_list):
28882888}};
28892889""" .format (
28902890 module_name = sanitize (module_name ),
2891- objects = '' .join (['{{ MP_ROM_QSTR(MP_QSTR_{obj}), MP_ROM_PTR(&mp_lv_{obj}_type.mp_obj_type ) }},\n ' .
2891+ objects = '' .join (['{{ MP_ROM_QSTR(MP_QSTR_{obj}), MP_ROM_PTR(&mp_lv_{obj}_type_base ) }},\n ' .
28922892 format (obj = sanitize (o )) for o in obj_names ]),
28932893 functions = '' .join (['{{ MP_ROM_QSTR(MP_QSTR_{name}), MP_ROM_PTR(&mp_{func}_mpobj) }},\n ' .
28942894 format (name = sanitize (simplify_identifier (f .name )), func = f .name ) for f in module_funcs ]),
2895- enums = '' .join (['{{ MP_ROM_QSTR(MP_QSTR_{name}), MP_ROM_PTR(&mp_lv_{enum}_type.mp_obj_type ) }},\n ' .
2895+ enums = '' .join (['{{ MP_ROM_QSTR(MP_QSTR_{name}), MP_ROM_PTR(&mp_lv_{enum}_type_base ) }},\n ' .
28962896 format (name = sanitize (get_enum_name (enum_name )), enum = enum_name ) for enum_name in enums .keys () if enum_name not in enum_referenced ]),
28972897 structs = '' .join (['{{ MP_ROM_QSTR(MP_QSTR_{name}), MP_ROM_PTR(&mp_{struct_name}_type) }},\n ' .
28982898 format (name = sanitize (simplify_identifier (struct_name )), struct_name = sanitize (struct_name )) for struct_name in generated_structs \
0 commit comments