aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>2017-05-01 02:07:37 +0200
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>2017-05-01 02:07:37 +0200
commite5bbeefe219012fb1ac343392674ed027fdf821b (patch)
tree26b293b8a0af66437013312a3caff327a7b41e51 /pypy/module/cpyext/userslot.py
parentUpdate includes README to mention new generated files, and the cpyext parse d... (diff)
downloadpypy-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.py12
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