summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
Diffstat (limited to 'Objects')
-rw-r--r--Objects/typeobject.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index cbbb58a..349a6fd 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -2641,6 +2641,19 @@ PyType_FromSpec(PyType_Spec *spec)
return PyType_FromSpecWithBases(spec, NULL);
}
+void *
+PyType_GetSlot(PyTypeObject *type, int slot)
+{
+ if (!PyType_HasFeature(type, Py_TPFLAGS_HEAPTYPE)) {
+ PyErr_BadInternalCall();
+ return NULL;
+ }
+ if (slot >= Py_ARRAY_LENGTH(slotoffsets)) {
+ /* Extension module requesting slot from a future version */
+ return NULL;
+ }
+ return *(void**)(((char*)type) + slotoffsets[slot]);
+}
/* Internal API to look for a name through the MRO.
This returns a borrowed reference, and doesn't set an exception! */