mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
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.
This commit is contained in:
parent
513b2ac76c
commit
a22e8bdfd9
17 changed files with 56 additions and 44 deletions
|
@ -367,7 +367,7 @@ static PyMethodDef rangeiter_methods[] = {
|
|||
{NULL, NULL} /* sentinel */
|
||||
};
|
||||
|
||||
PyTypeObject Pyrangeiter_Type = {
|
||||
PyTypeObject PyRangeIter_Type = {
|
||||
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
||||
"range_iterator", /* tp_name */
|
||||
sizeof(rangeiterobject), /* tp_basicsize */
|
||||
|
@ -441,7 +441,7 @@ get_len_of_range(long lo, long hi, long step)
|
|||
static PyObject *
|
||||
int_range_iter(long start, long stop, long step)
|
||||
{
|
||||
rangeiterobject *it = PyObject_New(rangeiterobject, &Pyrangeiter_Type);
|
||||
rangeiterobject *it = PyObject_New(rangeiterobject, &PyRangeIter_Type);
|
||||
if (it == NULL)
|
||||
return NULL;
|
||||
it->start = start;
|
||||
|
@ -519,9 +519,9 @@ longrangeiter_next(longrangeiterobject *r)
|
|||
return result;
|
||||
}
|
||||
|
||||
static PyTypeObject Pylongrangeiter_Type = {
|
||||
PyTypeObject PyLongRangeIter_Type = {
|
||||
PyVarObject_HEAD_INIT(&PyType_Type, 0)
|
||||
"rangeiterator", /* tp_name */
|
||||
"longrange_iterator", /* tp_name */
|
||||
sizeof(longrangeiterobject), /* tp_basicsize */
|
||||
0, /* tp_itemsize */
|
||||
/* methods */
|
||||
|
@ -567,7 +567,7 @@ range_iter(PyObject *seq)
|
|||
PyLong_AsLong(r->stop),
|
||||
PyLong_AsLong(r->step));
|
||||
|
||||
it = PyObject_New(longrangeiterobject, &Pylongrangeiter_Type);
|
||||
it = PyObject_New(longrangeiterobject, &PyLongRangeIter_Type);
|
||||
if (it == NULL)
|
||||
return NULL;
|
||||
|
||||
|
@ -627,7 +627,7 @@ range_reverse(PyObject *seq)
|
|||
return int_range_iter(new_start, new_stop, -step);
|
||||
}
|
||||
|
||||
it = PyObject_New(longrangeiterobject, &Pylongrangeiter_Type);
|
||||
it = PyObject_New(longrangeiterobject, &PyLongRangeIter_Type);
|
||||
if (it == NULL)
|
||||
return NULL;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue