add namedict.clear

This commit is contained in:
blueloveTH 2025-01-09 12:02:26 +08:00
parent 76a17ab251
commit c0aa42d2b1

View File

@ -63,6 +63,15 @@ static bool namedict_items(int argc, py_Ref argv) {
return true; return true;
} }
static bool namedict_clear(int argc, py_Ref argv) {
PY_CHECK_ARGC(1);
py_Ref object = py_getslot(argv, 0);
NameDict* dict = PyObject__dict(object->_obj);
NameDict__clear(dict);
py_newnone(py_retval());
return true;
}
py_Type pk_namedict__register() { py_Type pk_namedict__register() {
py_Type type = pk_newtype("namedict", tp_object, NULL, NULL, false, true); py_Type type = pk_newtype("namedict", tp_object, NULL, NULL, false, true);
@ -72,6 +81,7 @@ py_Type pk_namedict__register() {
py_bindmagic(type, __contains__, namedict__contains__); py_bindmagic(type, __contains__, namedict__contains__);
py_newnone(py_tpgetmagic(type, __hash__)); py_newnone(py_tpgetmagic(type, __hash__));
py_bindmethod(type, "items", namedict_items); py_bindmethod(type, "items", namedict_items);
py_bindmethod(type, "clear", namedict_clear);
return type; return type;
} }