summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2019-08-24 22:37:25 (GMT)
committerRaymond Hettinger <rhettinger@users.noreply.github.com>2019-08-24 22:37:25 (GMT)
commit805f8f9afea116c5d4d000570e3d02ae84502f43 (patch)
treefcce9d4e198f5788b6cc5befc349c988d9c05c3c /Objects
parent0dfc025cccc5adf4f209e2421c7686b1e637eeae (diff)
downloadcpython-805f8f9afea116c5d4d000570e3d02ae84502f43.zip
cpython-805f8f9afea116c5d4d000570e3d02ae84502f43.tar.gz
cpython-805f8f9afea116c5d4d000570e3d02ae84502f43.tar.bz2
bpo-19072: Make @classmethod support chained decorators (GH-8405)
Diffstat (limited to 'Objects')
-rw-r--r--Objects/funcobject.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Objects/funcobject.c b/Objects/funcobject.c
index a65c1f4..b6ffc2a 100644
--- a/Objects/funcobject.c
+++ b/Objects/funcobject.c
@@ -741,6 +741,10 @@ cm_descr_get(PyObject *self, PyObject *obj, PyObject *type)
}
if (type == NULL)
type = (PyObject *)(Py_TYPE(obj));
+ if (Py_TYPE(cm->cm_callable)->tp_descr_get != NULL) {
+ return Py_TYPE(cm->cm_callable)->tp_descr_get(cm->cm_callable, type,
+ NULL);
+ }
return PyMethod_New(cm->cm_callable, type);
}