diff options
Diffstat (limited to 'py/objnone.c')
-rw-r--r-- | py/objnone.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/py/objnone.c b/py/objnone.c index ecc7c4b4e7..4151403b21 100644 --- a/py/objnone.c +++ b/py/objnone.c @@ -6,19 +6,28 @@ #include "mpconfig.h" #include "qstr.h" #include "obj.h" +#include "runtime0.h" typedef struct _mp_obj_none_t { mp_obj_base_t base; } mp_obj_none_t; -void none_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t self_in, mp_print_kind_t kind) { +static void none_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t self_in, mp_print_kind_t kind) { print(env, "None"); } +static mp_obj_t none_unary_op(int op, mp_obj_t o_in) { + switch (op) { + case RT_UNARY_OP_NOT: return mp_const_true; + default: return MP_OBJ_NULL; // op not supported for None + } +} + const mp_obj_type_t none_type = { { &mp_const_type }, "NoneType", .print = none_print, + .unary_op = none_unary_op, }; static const mp_obj_none_t none_obj = {{&none_type}}; |