static int
groupby_traverse(groupbyobject *gbo, visitproc visit, void *arg)
{
- int err;
-
- if (gbo->it) {
- err = visit(gbo->it, arg);
- if (err)
- return err;
- }
- if (gbo->keyfunc) {
- err = visit(gbo->keyfunc, arg);
- if (err)
- return err;
- }
- if (gbo->tgtkey) {
- err = visit(gbo->tgtkey, arg);
- if (err)
- return err;
- }
- if (gbo->currkey) {
- err = visit(gbo->currkey, arg);
- if (err)
- return err;
- }
- if (gbo->currvalue) {
- err = visit(gbo->currvalue, arg);
- if (err)
- return err;
- }
+ Py_VISIT(gbo->it);
+ Py_VISIT(gbo->keyfunc);
+ Py_VISIT(gbo->tgtkey);
+ Py_VISIT(gbo->currkey);
+ Py_VISIT(gbo->currvalue);
return 0;
}
static int
cycle_traverse(cycleobject *lz, visitproc visit, void *arg)
{
- int err;
-
- if (lz->it) {
- err = visit(lz->it, arg);
- if (err)
- return err;
- }
- if (lz->saved) {
- err = visit(lz->saved, arg);
- if (err)
- return err;
- }
+ Py_VISIT(lz->it);
+ Py_VISIT(lz->saved);
return 0;
}
static int
dropwhile_traverse(dropwhileobject *lz, visitproc visit, void *arg)
{
- int err;
-
- if (lz->it) {
- err = visit(lz->it, arg);
- if (err)
- return err;
- }
- if (lz->func) {
- err = visit(lz->func, arg);
- if (err)
- return err;
- }
+ Py_VISIT(lz->it);
+ Py_VISIT(lz->func);
return 0;
}
static int
takewhile_traverse(takewhileobject *lz, visitproc visit, void *arg)
{
- int err;
-
- if (lz->it) {
- err = visit(lz->it, arg);
- if (err)
- return err;
- }
- if (lz->func) {
- err = visit(lz->func, arg);
- if (err)
- return err;
- }
+ Py_VISIT(lz->it);
+ Py_VISIT(lz->func);
return 0;
}
static int
islice_traverse(isliceobject *lz, visitproc visit, void *arg)
{
- if (lz->it)
- return visit(lz->it, arg);
+ Py_VISIT(lz->it);
return 0;
}
static int
starmap_traverse(starmapobject *lz, visitproc visit, void *arg)
{
- int err;
-
- if (lz->it) {
- err = visit(lz->it, arg);
- if (err)
- return err;
- }
- if (lz->func) {
- err = visit(lz->func, arg);
- if (err)
- return err;
- }
+ Py_VISIT(lz->it);
+ Py_VISIT(lz->func);
return 0;
}
static int
imap_traverse(imapobject *lz, visitproc visit, void *arg)
{
- int err;
-
- if (lz->iters) {
- err = visit(lz->iters, arg);
- if (err)
- return err;
- }
- if (lz->func) {
- err = visit(lz->func, arg);
- if (err)
- return err;
- }
+ Py_VISIT(lz->iters);
+ Py_VISIT(lz->func);
return 0;
}
static int
chain_traverse(chainobject *lz, visitproc visit, void *arg)
{
- if (lz->ittuple)
- return visit(lz->ittuple, arg);
+ Py_VISIT(lz->ittuple);
return 0;
}
static int
ifilter_traverse(ifilterobject *lz, visitproc visit, void *arg)
{
- int err;
-
- if (lz->it) {
- err = visit(lz->it, arg);
- if (err)
- return err;
- }
- if (lz->func) {
- err = visit(lz->func, arg);
- if (err)
- return err;
- }
+ Py_VISIT(lz->it);
+ Py_VISIT(lz->func);
return 0;
}
static int
ifilterfalse_traverse(ifilterfalseobject *lz, visitproc visit, void *arg)
{
- int err;
-
- if (lz->it) {
- err = visit(lz->it, arg);
- if (err)
- return err;
- }
- if (lz->func) {
- err = visit(lz->func, arg);
- if (err)
- return err;
- }
+ Py_VISIT(lz->it);
+ Py_VISIT(lz->func);
return 0;
}
static int
izip_traverse(izipobject *lz, visitproc visit, void *arg)
{
- int err;
-
- if (lz->ittuple) {
- err = visit(lz->ittuple, arg);
- if (err)
- return err;
- }
- if (lz->result) {
- err = visit(lz->result, arg);
- if (err)
- return err;
- }
+ Py_VISIT(lz->ittuple);
+ Py_VISIT(lz->result);
return 0;
}
static int
repeat_traverse(repeatobject *ro, visitproc visit, void *arg)
{
- if (ro->element)
- return visit(ro->element, arg);
+ Py_VISIT(ro->element);
return 0;
}