add introspection to range objects (closes #9896)

Patch by Daniel Urban.
This commit is contained in:
Benjamin Peterson 2011-11-05 15:17:52 -04:00
parent 03b0819389
commit 878ce389a0
3 changed files with 44 additions and 2 deletions

View file

@ -1,6 +1,7 @@
/* Range object implementation */
#include "Python.h"
#include "structmember.h"
/* Support objects whose length is > PY_SSIZE_T_MAX.
@ -880,6 +881,13 @@ static PyMethodDef range_methods[] = {
{NULL, NULL} /* sentinel */
};
static PyMemberDef range_members[] = {
{"start", T_OBJECT_EX, offsetof(rangeobject, start), READONLY},
{"stop", T_OBJECT_EX, offsetof(rangeobject, stop), READONLY},
{"step", T_OBJECT_EX, offsetof(rangeobject, step), READONLY},
{0}
};
PyTypeObject PyRange_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"range", /* Name of this type */
@ -909,7 +917,7 @@ PyTypeObject PyRange_Type = {
range_iter, /* tp_iter */
0, /* tp_iternext */
range_methods, /* tp_methods */
0, /* tp_members */
range_members, /* tp_members */
0, /* tp_getset */
0, /* tp_base */
0, /* tp_dict */