]> granicus.if.org Git - python/commitdiff
There's no need for generators to define an explicit next() method.
authorTim Peters <tim.peters@gmail.com>
Wed, 17 Jul 2002 00:15:22 +0000 (00:15 +0000)
committerTim Peters <tim.peters@gmail.com>
Wed, 17 Jul 2002 00:15:22 +0000 (00:15 +0000)
Python/ceval.c

index 5122c76fa4a4f145bf70d2bfdf46f3b32ab13837..8c19787a5254ad51c29acdaf5bd983ffbc5207cf 100644 (file)
@@ -165,21 +165,6 @@ gen_iternext(genobject *gen)
        return result;
 }
 
-static PyObject *
-gen_next(genobject *gen)
-{
-       PyObject *result;
-
-       result = gen_iternext(gen);
-
-       if (result == NULL && !PyErr_Occurred()) {
-               PyErr_SetObject(PyExc_StopIteration, Py_None);
-               return NULL;
-       }
-
-       return result;
-}
-
 static PyObject *
 gen_getiter(PyObject *gen)
 {
@@ -187,12 +172,6 @@ gen_getiter(PyObject *gen)
        return gen;
 }
 
-static struct PyMethodDef gen_methods[] = {
-       {"next",     (PyCFunction)gen_next, METH_NOARGS,
-               "next() -- get the next value, or raise StopIteration"},
-       {NULL,          NULL}   /* Sentinel */
-};
-
 static PyMemberDef gen_memberlist[] = {
        {"gi_frame",    T_OBJECT, offsetof(genobject, gi_frame),        RO},
        {"gi_running",  T_INT,    offsetof(genobject, gi_running),      RO},
@@ -229,7 +208,7 @@ statichere PyTypeObject gentype = {
        0,                                      /* tp_weaklistoffset */
        (getiterfunc)gen_getiter,               /* tp_iter */
        (iternextfunc)gen_iternext,             /* tp_iternext */
-       gen_methods,                            /* tp_methods */
+       0,                                      /* tp_methods */
        gen_memberlist,                         /* tp_members */
        0,                                      /* tp_getset */
        0,                                      /* tp_base */