|
|
|
@ -2440,12 +2440,23 @@ tuplegetter_dealloc(_tuplegetterobject *self) |
|
|
|
Py_TYPE(self)->tp_free((PyObject*)self); |
|
|
|
} |
|
|
|
|
|
|
|
static PyObject* |
|
|
|
tuplegetter_reduce(_tuplegetterobject *self) |
|
|
|
{ |
|
|
|
return Py_BuildValue("(O(nO))", (PyObject*) Py_TYPE(self), self->index, self->doc); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static PyMemberDef tuplegetter_members[] = { |
|
|
|
{"__doc__", T_OBJECT, offsetof(_tuplegetterobject, doc), 0}, |
|
|
|
{0} |
|
|
|
}; |
|
|
|
|
|
|
|
static PyMethodDef tuplegetter_methods[] = { |
|
|
|
{"__reduce__", (PyCFunction) tuplegetter_reduce, METH_NOARGS, NULL}, |
|
|
|
{NULL}, |
|
|
|
}; |
|
|
|
|
|
|
|
static PyTypeObject tuplegetter_type = { |
|
|
|
PyVarObject_HEAD_INIT(NULL, 0) |
|
|
|
"_collections._tuplegetter", /* tp_name */ |
|
|
|
@ -2475,7 +2486,7 @@ static PyTypeObject tuplegetter_type = { |
|
|
|
0, /* tp_weaklistoffset */ |
|
|
|
0, /* tp_iter */ |
|
|
|
0, /* tp_iternext */ |
|
|
|
0, /* tp_methods */ |
|
|
|
tuplegetter_methods, /* tp_methods */ |
|
|
|
tuplegetter_members, /* tp_members */ |
|
|
|
0, /* tp_getset */ |
|
|
|
0, /* tp_base */ |
|
|
|
|