make YieldFrom its own distinct from Yield (closes #13780)

This commit is contained in:
Benjamin Peterson 2012-01-14 08:58:23 -05:00
parent 91f252b179
commit 527c622926
7 changed files with 91 additions and 39 deletions

View file

@ -1330,10 +1330,14 @@ symtable_visit_expr(struct symtable *st, expr_ty e)
return 0;
break;
case Yield_kind:
if (e->v.Yield.value)
VISIT(st, expr, e->v.Yield.value);
case YieldFrom_kind: {
expr_ty value;
value = (e->kind == YieldFrom_kind) ? e->v.YieldFrom.value : e->v.Yield.value;
if (value)
VISIT(st, expr, value);
st->st_cur->ste_generator = 1;
break;
}
case Compare_kind:
VISIT(st, expr, e->v.Compare.left);
VISIT_SEQ(st, expr, e->v.Compare.comparators);