]> granicus.if.org Git - python/commitdiff
many more types to initialize (I had to expose some of them)
authorBenjamin Peterson <benjamin@python.org>
Sat, 18 Apr 2009 22:15:26 +0000 (22:15 +0000)
committerBenjamin Peterson <benjamin@python.org>
Sat, 18 Apr 2009 22:15:26 +0000 (22:15 +0000)
Include/descrobject.h
Include/sliceobject.h
Objects/descrobject.c
Objects/object.c
Objects/sliceobject.c

index 0d444b616f8968eeddebd91d22819e1482c8e844..718f9d565e874cb9f46bdd1d6ebb0fb5fe59c2df 100644 (file)
@@ -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 *);
index dfc30c705f6d5ede14c8115d3d7db91e35d5e70e..8ab62dd4f8f37276ddf46b5672a544636a1e7614 100644 (file)
@@ -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)
 
index fcc174e0b7c33f8da1ff53ff4e62f1eba0618e77..536e5a84253138ecd6aec4c28225667a36db5681 100644 (file)
@@ -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;
index 8abe200be6aeaf42f40ecccec51cabfab168e5eb..35307ad9fff870d871928802705af5620c002339 100644 (file)
@@ -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");
 }
 
 
index 8748fed4ce58a9a9256e5b46d98840523fe83f34..2eb39414eba7a1c014fddd22bf4bc8331671c1df 100644 (file)
@@ -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 */