Skip to content

Commit 780e54c

Browse files
committed
py: Implement delete_attr in native emitter.
1 parent 720f55c commit 780e54c

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

py/emitnative.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -917,8 +917,11 @@ STATIC void emit_native_delete_global(emit_t *emit, qstr qstr) {
917917
}
918918

919919
STATIC void emit_native_delete_attr(emit_t *emit, qstr qstr) {
920-
// not supported
921-
assert(0);
920+
vtype_kind_t vtype_base;
921+
emit_pre_pop_reg(emit, &vtype_base, REG_ARG_1); // arg1 = base
922+
assert(vtype_base == VTYPE_PYOBJ);
923+
emit_call_with_2_imm_args(emit, MP_F_STORE_ATTR, mp_store_attr, qstr, REG_ARG_2, (machine_uint_t)MP_OBJ_NULL, REG_ARG_3); // arg2 = attribute name, arg3 = value (null for delete)
924+
emit_post(emit);
922925
}
923926

924927
STATIC void emit_native_delete_subscr(emit_t *emit) {

0 commit comments

Comments
 (0)