- Rename PyType_InitDict() to PyType_Ready().

- Add an explicit call to PyType_Ready(&PyList_Type) to pythonrun.c
  (just for the heck of it, really -- we should either explicitly
  ready all types, or none).
This commit is contained in:
Guido van Rossum 2001-08-07 17:24:28 +00:00
parent c5943b1c8c
commit 528b7eb0b0
5 changed files with 16 additions and 13 deletions

View File

@ -297,7 +297,7 @@ extern DL_IMPORT(PyTypeObject) PyBaseObject_Type; /* Most base object type */
#define PyType_Check(op) PyObject_TypeCheck(op, &PyType_Type)
extern DL_IMPORT(int) PyType_InitDict(PyTypeObject *);
extern DL_IMPORT(int) PyType_Ready(PyTypeObject *);
extern DL_IMPORT(PyObject *) PyType_GenericAlloc(PyTypeObject *, int);
extern DL_IMPORT(PyObject *) PyType_GenericNew(PyTypeObject *,
PyObject *, PyObject *);

View File

@ -212,9 +212,9 @@ initxxsubtype(void)
if (m == NULL)
return;
if (PyType_InitDict(&spamlist_type) < 0)
if (PyType_Ready(&spamlist_type) < 0)
return;
if (PyType_InitDict(&spamdict_type) < 0)
if (PyType_Ready(&spamdict_type) < 0)
return;
d = PyModule_GetDict(m);

View File

@ -1160,7 +1160,7 @@ PyObject_GenericGetAttr(PyObject *obj, PyObject *name)
PyObject **dictptr;
if (tp->tp_dict == NULL) {
if (PyType_InitDict(tp) < 0)
if (PyType_Ready(tp) < 0)
return NULL;
}
@ -1207,7 +1207,7 @@ PyObject_GenericSetAttr(PyObject *obj, PyObject *name, PyObject *value)
PyObject **dictptr;
if (tp->tp_dict == NULL) {
if (PyType_InitDict(tp) < 0)
if (PyType_Ready(tp) < 0)
return -1;
}

View File

@ -387,7 +387,7 @@ best_base(PyObject *bases)
return NULL;
}
if (base_i->tp_dict == NULL) {
if (PyType_InitDict(base_i) < 0)
if (PyType_Ready(base_i) < 0)
return NULL;
}
candidate = solid_base(base_i);
@ -656,7 +656,7 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
type->tp_free = _PyObject_Del;
/* Initialize the rest */
if (PyType_InitDict(type) < 0) {
if (PyType_Ready(type) < 0) {
Py_DECREF(type);
return NULL;
}
@ -719,7 +719,7 @@ type_getattro(PyTypeObject *type, PyObject *name)
/* Initialize this type (we'll assume the metatype is initialized) */
if (type->tp_dict == NULL) {
if (PyType_InitDict(type) < 0)
if (PyType_Ready(type) < 0)
return NULL;
}
@ -1157,7 +1157,7 @@ inherit_slots(PyTypeObject *type, PyTypeObject *base)
}
int
PyType_InitDict(PyTypeObject *type)
PyType_Ready(PyTypeObject *type)
{
PyObject *dict, *bases, *x;
PyTypeObject *base;
@ -1185,7 +1185,7 @@ PyType_InitDict(PyTypeObject *type)
/* Initialize the base class */
if (base && base->tp_dict == NULL) {
if (PyType_InitDict(base) < 0)
if (PyType_Ready(base) < 0)
return -1;
}
@ -1892,7 +1892,7 @@ add_tp_new_wrapper(PyTypeObject *type)
return PyDict_SetItemString(type->tp_defined, "__new__", func);
}
/* This function is called by PyType_InitDict() to populate the type's
/* This function is called by PyType_Ready() to populate the type's
dictionary with method descriptors for function slots. For each
function slot (like tp_repr) that's defined in the type, one or
more corresponding descriptors are added in the type's tp_defined
@ -2335,7 +2335,7 @@ slot_tp_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
}
/* This is called at the very end of type_new() (even after
PyType_InitDict()) to complete the initialization of dynamic types.
PyType_Ready()) to complete the initialization of dynamic types.
The dict argument is the dictionary argument passed to type_new(),
which is the local namespace of the class statement, in other
words, it contains the methods. For each special method (like

View File

@ -115,9 +115,12 @@ Py_Initialize(void)
Py_FatalError("Py_Initialize: can't make first thread");
(void) PyThreadState_Swap(tstate);
if (PyType_InitDict(&PyType_Type) < 0)
if (PyType_Ready(&PyType_Type) < 0)
Py_FatalError("Py_Initialize: can't initialize 'type'");
if (PyType_Ready(&PyList_Type) < 0)
Py_FatalError("Py_Initialize: can't initialize 'list'");
interp->modules = PyDict_New();
if (interp->modules == NULL)
Py_FatalError("Py_Initialize: can't make modules dictionary");