32 #if MICROPY_PY_BUILTINS_PROPERTY 34 typedef struct _mp_obj_property_t {
40 enum { ARG_fget, ARG_fset, ARG_fdel, ARG_doc };
41 static const mp_arg_t allowed_args[] = {
50 mp_obj_property_t *o =
m_new_obj(mp_obj_property_t);
52 o->proxy[0] = vals[ARG_fget].
u_obj;
53 o->proxy[1] = vals[ARG_fset].
u_obj;
54 o->proxy[2] = vals[ARG_fdel].
u_obj;
60 mp_obj_property_t *p2 =
m_new_obj(mp_obj_property_t);
62 p2->proxy[0] = getter;
69 mp_obj_property_t *p2 =
m_new_obj(mp_obj_property_t);
71 p2->proxy[1] = setter;
78 mp_obj_property_t *p2 =
m_new_obj(mp_obj_property_t);
80 p2->proxy[2] = deleter;
96 .
name = MP_QSTR_property,
97 .make_new = property_make_new,
107 #endif // MICROPY_PY_BUILTINS_PROPERTY #define MP_DEFINE_CONST_DICT(dict_name, table_name)
#define MP_OBJ_IS_TYPE(o, t)
#define MP_OBJ_FROM_PTR(p)
void mp_arg_parse_all_kw_array(size_t n_pos, size_t n_kw, const mp_obj_t *args, size_t n_allowed, const mp_arg_t *allowed, mp_arg_val_t *out_vals)
#define mp_check_self(pred)
const struct _mp_obj_none_t mp_const_none_obj
const mp_obj_type_t mp_type_type
#define MP_DEFINE_CONST_FUN_OBJ_2(obj_name, fun_name)
const mp_obj_t * mp_obj_property_get(mp_obj_t self_in)
const mp_obj_type_t mp_type_property