summaryrefslogtreecommitdiff
path: root/Python/symtable.c
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2012-01-14 08:58:23 -0500
committerBenjamin Peterson <benjamin@python.org>2012-01-14 08:58:23 -0500
commit37fe2bd5e9be127591b1e39efe50fc0c3348b5ab (patch)
treea6a2ba3887515ebb84accb6844eee6db1d661be3 /Python/symtable.c
parent111b4f56ca0c8da36d313a0563674c2f82e68d3e (diff)
downloadcpython-37fe2bd5e9be127591b1e39efe50fc0c3348b5ab.tar.gz
make YieldFrom its own distinct from Yield (closes #13780)
Diffstat (limited to 'Python/symtable.c')
-rw-r--r--Python/symtable.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Python/symtable.c b/Python/symtable.c
index 1ce7f7036f..b6228356bf 100644
--- a/Python/symtable.c
+++ b/Python/symtable.c
@@ -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);