Merged revisions 71734,71738-71739 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r71734 | benjamin.peterson | 2009-04-18 17:15:26 -0500 (Sat, 18 Apr 2009) | 1 line

  many more types to initialize (I had to expose some of them)
........
  r71738 | benjamin.peterson | 2009-04-18 21:32:42 -0500 (Sat, 18 Apr 2009) | 1 line

  initialize weakref some weakref types
........
  r71739 | benjamin.peterson | 2009-04-18 21:40:43 -0500 (Sat, 18 Apr 2009) | 1 line

  make errors consistent
........
This commit is contained in:
Benjamin Peterson 2009-04-20 02:09:13 +00:00
parent 7b5adc066a
commit c485361f61
5 changed files with 60 additions and 8 deletions

View File

@ -68,6 +68,9 @@ typedef struct {
} PyWrapperDescrObject; } PyWrapperDescrObject;
PyAPI_DATA(PyTypeObject) PyWrapperDescr_Type; 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_NewMethod(PyTypeObject *, PyMethodDef *);
PyAPI_FUNC(PyObject *) PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *); PyAPI_FUNC(PyObject *) PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *);

View File

@ -25,6 +25,7 @@ typedef struct {
} PySliceObject; } PySliceObject;
PyAPI_DATA(PyTypeObject) PySlice_Type; PyAPI_DATA(PyTypeObject) PySlice_Type;
PyAPI_DATA(PyTypeObject) PyEllipsis_Type;
#define PySlice_Check(op) (Py_TYPE(op) == &PySlice_Type) #define PySlice_Check(op) (Py_TYPE(op) == &PySlice_Type)

View File

@ -456,7 +456,7 @@ static PyTypeObject PyClassMethodDescr_Type = {
0, /* tp_descr_set */ 0, /* tp_descr_set */
}; };
static PyTypeObject PyMemberDescr_Type = { PyTypeObject PyMemberDescr_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0) PyVarObject_HEAD_INIT(&PyType_Type, 0)
"member_descriptor", "member_descriptor",
sizeof(PyMemberDescrObject), sizeof(PyMemberDescrObject),
@ -493,7 +493,7 @@ static PyTypeObject PyMemberDescr_Type = {
(descrsetfunc)member_set, /* tp_descr_set */ (descrsetfunc)member_set, /* tp_descr_set */
}; };
static PyTypeObject PyGetSetDescr_Type = { PyTypeObject PyGetSetDescr_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0) PyVarObject_HEAD_INIT(&PyType_Type, 0)
"getset_descriptor", "getset_descriptor",
sizeof(PyGetSetDescrObject), sizeof(PyGetSetDescrObject),
@ -819,7 +819,7 @@ proxy_richcompare(proxyobject *v, PyObject *w, int op)
return PyObject_RichCompare(v->dict, w, op); return PyObject_RichCompare(v->dict, w, op);
} }
static PyTypeObject proxytype = { PyTypeObject PyDictProxy_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0) PyVarObject_HEAD_INIT(&PyType_Type, 0)
"dictproxy", /* tp_name */ "dictproxy", /* tp_name */
sizeof(proxyobject), /* tp_basicsize */ sizeof(proxyobject), /* tp_basicsize */
@ -862,7 +862,7 @@ PyDictProxy_New(PyObject *dict)
{ {
proxyobject *pp; proxyobject *pp;
pp = PyObject_GC_New(proxyobject, &proxytype); pp = PyObject_GC_New(proxyobject, &PyDictProxy_Type);
if (pp != NULL) { if (pp != NULL) {
Py_INCREF(dict); Py_INCREF(dict);
pp->dict = dict; pp->dict = dict;

View File

@ -2,6 +2,7 @@
/* Generic object operations; and implementation of None (NoObject) */ /* Generic object operations; and implementation of None (NoObject) */
#include "Python.h" #include "Python.h"
#include "frameobject.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -2027,6 +2028,12 @@ _Py_ReadyTypes(void)
if (PyType_Ready(&_PyWeakref_RefType) < 0) if (PyType_Ready(&_PyWeakref_RefType) < 0)
Py_FatalError("Can't initialize weakref type"); Py_FatalError("Can't initialize weakref type");
if (PyType_Ready(&_PyWeakref_CallableProxyType) < 0)
Py_FatalError("Can't initialize callable weakref proxy type");
if (PyType_Ready(&_PyWeakref_ProxyType) < 0)
Py_FatalError("Can't initialize weakref proxy type");
if (PyType_Ready(&PyBool_Type) < 0) if (PyType_Ready(&PyBool_Type) < 0)
Py_FatalError("Can't initialize bool type"); Py_FatalError("Can't initialize bool type");
@ -2034,10 +2041,10 @@ _Py_ReadyTypes(void)
Py_FatalError("Can't initialize str type"); Py_FatalError("Can't initialize str type");
if (PyType_Ready(&PyByteArray_Type) < 0) if (PyType_Ready(&PyByteArray_Type) < 0)
Py_FatalError("Can't initialize bytearray"); Py_FatalError("Can't initialize bytearray type");
if (PyType_Ready(&PyList_Type) < 0) if (PyType_Ready(&PyList_Type) < 0)
Py_FatalError("Can't initialize list"); Py_FatalError("Can't initialize list type");
if (PyType_Ready(&PyNone_Type) < 0) if (PyType_Ready(&PyNone_Type) < 0)
Py_FatalError("Can't initialize None type"); Py_FatalError("Can't initialize None type");
@ -2072,8 +2079,10 @@ _Py_ReadyTypes(void)
if (PyType_Ready(&PyStaticMethod_Type) < 0) if (PyType_Ready(&PyStaticMethod_Type) < 0)
Py_FatalError("Can't initialize static method type"); Py_FatalError("Can't initialize static method type");
#ifndef WITHOUT_COMPLEX
if (PyType_Ready(&PyComplex_Type) < 0) 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) if (PyType_Ready(&PyFloat_Type) < 0)
Py_FatalError("Can't initialize float type"); Py_FatalError("Can't initialize float type");
@ -2101,6 +2110,45 @@ _Py_ReadyTypes(void)
if (PyType_Ready(&PyReversed_Type) < 0) if (PyType_Ready(&PyReversed_Type) < 0)
Py_FatalError("Can't initialize reversed type"); 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");
} }

View File

@ -22,7 +22,7 @@ ellipsis_repr(PyObject *op)
return PyString_FromString("Ellipsis"); return PyString_FromString("Ellipsis");
} }
static PyTypeObject PyEllipsis_Type = { PyTypeObject PyEllipsis_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0) PyVarObject_HEAD_INIT(&PyType_Type, 0)
"ellipsis", /* tp_name */ "ellipsis", /* tp_name */
0, /* tp_basicsize */ 0, /* tp_basicsize */