diff options
author | Amaury Forgeot d'Arc <amauryfa@gmail.com> | 2017-05-01 02:07:37 +0200 |
---|---|---|
committer | Amaury Forgeot d'Arc <amauryfa@gmail.com> | 2017-05-01 02:07:37 +0200 |
commit | e5bbeefe219012fb1ac343392674ed027fdf821b (patch) | |
tree | 26b293b8a0af66437013312a3caff327a7b41e51 /pypy/module/cpyext/userslot.py | |
parent | Update includes README to mention new generated files, and the cpyext parse d... (diff) | |
download | pypy-e5bbeefe219012fb1ac343392674ed027fdf821b.tar.gz pypy-e5bbeefe219012fb1ac343392674ed027fdf821b.tar.bz2 pypy-e5bbeefe219012fb1ac343392674ed027fdf821b.zip |
Populate tp_descr_get and tp_descr_set slots
Diffstat (limited to 'pypy/module/cpyext/userslot.py')
-rw-r--r-- | pypy/module/cpyext/userslot.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/pypy/module/cpyext/userslot.py b/pypy/module/cpyext/userslot.py index 2d0c536b17..1419404744 100644 --- a/pypy/module/cpyext/userslot.py +++ b/pypy/module/cpyext/userslot.py @@ -109,4 +109,14 @@ def slot_mp_subscript(space, w_obj1, w_obj2): def slot_tp_getattr(space, w_obj1, w_obj2): return space.getattr(w_obj1, w_obj2) - +@slot_function([PyObject, PyObject, PyObject], PyObject) +def slot_tp_descr_get(space, w_self, w_obj, w_type): + return space.get(w_self, w_obj, w_type) + +@slot_function([PyObject, PyObject, PyObject], rffi.INT_real, error=-1) +def slot_tp_descr_set(space, w_self, w_obj, w_value): + if w_value is not None: + space.set(w_self, w_obj, w_value) + else: + space.delete(w_self, w_obj) + return 0 |