Added all PyTypeObjects to the appropriate header files.
Before the patch a lot of internal types weren't available in the header files. The patch exposes the new iterators, views and some other types to all C modules. I've also renamed some of the types and tp_names.
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 1d82e35..ea10abf 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -1790,7 +1790,7 @@
static void
sortwrapper_dealloc(sortwrapperobject *);
-static PyTypeObject sortwrapper_type = {
+PyTypeObject PySortWrapper_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"sortwrapper", /* tp_name */
sizeof(sortwrapperobject), /* tp_basicsize */
@@ -1822,7 +1822,7 @@
static PyObject *
sortwrapper_richcompare(sortwrapperobject *a, sortwrapperobject *b, int op)
{
- if (!PyObject_TypeCheck(b, &sortwrapper_type)) {
+ if (!PyObject_TypeCheck(b, &PySortWrapper_Type)) {
PyErr_SetString(PyExc_TypeError,
"expected a sortwrapperobject");
return NULL;
@@ -1846,7 +1846,7 @@
{
sortwrapperobject *so;
- so = PyObject_New(sortwrapperobject, &sortwrapper_type);
+ so = PyObject_New(sortwrapperobject, &PySortWrapper_Type);
if (so == NULL)
return NULL;
so->key = key;
@@ -1860,7 +1860,7 @@
{
PyObject *value;
- if (!PyObject_TypeCheck(so, &sortwrapper_type)) {
+ if (!PyObject_TypeCheck(so, &PySortWrapper_Type)) {
PyErr_SetString(PyExc_TypeError,
"expected a sortwrapperobject");
return NULL;
@@ -1893,8 +1893,8 @@
if (!PyArg_UnpackTuple(args, "", 2, 2, &x, &y))
return NULL;
- if (!PyObject_TypeCheck(x, &sortwrapper_type) ||
- !PyObject_TypeCheck(y, &sortwrapper_type)) {
+ if (!PyObject_TypeCheck(x, &PySortWrapper_Type) ||
+ !PyObject_TypeCheck(y, &PySortWrapper_Type)) {
PyErr_SetString(PyExc_TypeError,
"expected a sortwrapperobject");
return NULL;
@@ -1906,7 +1906,7 @@
PyDoc_STRVAR(cmpwrapper_doc, "cmp() wrapper for sort with custom keys.");
-static PyTypeObject cmpwrapper_type = {
+PyTypeObject PyCmpWrapper_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"cmpwrapper", /* tp_name */
sizeof(cmpwrapperobject), /* tp_basicsize */
@@ -1936,7 +1936,7 @@
{
cmpwrapperobject *co;
- co = PyObject_New(cmpwrapperobject, &cmpwrapper_type);
+ co = PyObject_New(cmpwrapperobject, &PyCmpWrapper_Type);
if (co == NULL)
return NULL;
Py_INCREF(cmpfunc);