diff options
-rw-r--r-- | Include/descrobject.h | 3 | ||||
-rw-r--r-- | Include/sliceobject.h | 1 | ||||
-rw-r--r-- | Objects/descrobject.c | 8 | ||||
-rw-r--r-- | Objects/object.c | 44 | ||||
-rw-r--r-- | Objects/sliceobject.c | 2 |
5 files changed, 52 insertions, 6 deletions
diff --git a/Include/descrobject.h b/Include/descrobject.h index 0d444b6..718f9d5 100644 --- a/Include/descrobject.h +++ b/Include/descrobject.h @@ -68,6 +68,9 @@ typedef struct { } PyWrapperDescrObject; PyAPI_DATA(PyTypeObject) PyWrapperDescr_Type; +PyAPI_DATA(PyTypeObject) PyDictProxy_Type; +PyAPI_DATA(PyTypeObject) PyGetSetDescr_Type; +PyAPI_DATA(PyTypeObject) PyMemberDescr_Type; PyAPI_FUNC(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *); PyAPI_FUNC(PyObject *) PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *); diff --git a/Include/sliceobject.h b/Include/sliceobject.h index dfc30c7..8ab62dd 100644 --- a/Include/sliceobject.h +++ b/Include/sliceobject.h @@ -25,6 +25,7 @@ typedef struct { } PySliceObject; PyAPI_DATA(PyTypeObject) PySlice_Type; +PyAPI_DATA(PyTypeObject) PyEllipsis_Type; #define PySlice_Check(op) (Py_TYPE(op) == &PySlice_Type) diff --git a/Objects/descrobject.c b/Objects/descrobject.c index fcc174e..536e5a8 100644 --- a/Objects/descrobject.c +++ b/Objects/descrobject.c @@ -456,7 +456,7 @@ static PyTypeObject PyClassMethodDescr_Type = { 0, /* tp_descr_set */ }; -static PyTypeObject PyMemberDescr_Type = { +PyTypeObject PyMemberDescr_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "member_descriptor", sizeof(PyMemberDescrObject), @@ -493,7 +493,7 @@ static PyTypeObject PyMemberDescr_Type = { (descrsetfunc)member_set, /* tp_descr_set */ }; -static PyTypeObject PyGetSetDescr_Type = { +PyTypeObject PyGetSetDescr_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "getset_descriptor", sizeof(PyGetSetDescrObject), @@ -819,7 +819,7 @@ proxy_richcompare(proxyobject *v, PyObject *w, int op) return PyObject_RichCompare(v->dict, w, op); } -static PyTypeObject proxytype = { +PyTypeObject PyDictProxy_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "dictproxy", /* tp_name */ sizeof(proxyobject), /* tp_basicsize */ @@ -862,7 +862,7 @@ PyDictProxy_New(PyObject *dict) { proxyobject *pp; - pp = PyObject_GC_New(proxyobject, &proxytype); + pp = PyObject_GC_New(proxyobject, &PyDictProxy_Type); if (pp != NULL) { Py_INCREF(dict); pp->dict = dict; diff --git a/Objects/object.c b/Objects/object.c index 8abe200..35307ad 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -2,6 +2,7 @@ /* Generic object operations; and implementation of None (NoObject) */ #include "Python.h" +#include "frameobject.h" #ifdef __cplusplus extern "C" { @@ -2083,8 +2084,10 @@ _Py_ReadyTypes(void) if (PyType_Ready(&PyStaticMethod_Type) < 0) Py_FatalError("Can't initialize static method type"); +#ifndef WITHOUT_COMPLEX if (PyType_Ready(&PyComplex_Type) < 0) - Py_FatalError("Can't initalize complex type"); + Py_FatalError("Can't initialize complex type"); +#endif if (PyType_Ready(&PyFloat_Type) < 0) Py_FatalError("Can't initialize float type"); @@ -2115,6 +2118,45 @@ _Py_ReadyTypes(void) if (PyType_Ready(&PyReversed_Type) < 0) Py_FatalError("Can't initialize reversed type"); + + if (PyType_Ready(&PyCode_Type) < 0) + Py_FatalError("Can't initialize code type"); + + if (PyType_Ready(&PyFrame_Type) < 0) + Py_FatalError("Can't initialize frame type"); + + if (PyType_Ready(&PyCFunction_Type) < 0) + Py_FatalError("Can't initialize builtin function type"); + + if (PyType_Ready(&PyMethod_Type) < 0) + Py_FatalError("Can't initialize method type"); + + if (PyType_Ready(&PyFunction_Type) < 0) + Py_FatalError("Can't initialize function type"); + + if (PyType_Ready(&PyClass_Type) < 0) + Py_FatalError("Can't initialize class type"); + + if (PyType_Ready(&PyDictProxy_Type) < 0) + Py_FatalError("Can't initialize dict proxy type"); + + if (PyType_Ready(&PyGen_Type) < 0) + Py_FatalError("Can't initialize generator type"); + + if (PyType_Ready(&PyGetSetDescr_Type) < 0) + Py_FatalError("Can't initialize get-set descriptor type"); + + if (PyType_Ready(&PyWrapperDescr_Type) < 0) + Py_FatalError("Can't initialize wrapper type"); + + if (PyType_Ready(&PyInstance_Type) < 0) + Py_FatalError("Can't initialize instance type"); + + if (PyType_Ready(&PyEllipsis_Type) < 0) + Py_FatalError("Can't initialize ellipsis type"); + + if (PyType_Ready(&PyMemberDescr_Type) < 0) + Py_FatalError("Can't initialize member descriptor type"); } diff --git a/Objects/sliceobject.c b/Objects/sliceobject.c index 8748fed..2eb3941 100644 --- a/Objects/sliceobject.c +++ b/Objects/sliceobject.c @@ -22,7 +22,7 @@ ellipsis_repr(PyObject *op) return PyString_FromString("Ellipsis"); } -static PyTypeObject PyEllipsis_Type = { +PyTypeObject PyEllipsis_Type = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "ellipsis", /* tp_name */ 0, /* tp_basicsize */ |