Skip to content

Commit 18f6924

Browse files
Merge pull request #11 from johnslavik/async-yield-from-fix-unparse
Implement `visit_AsyncYieldFrom` in Python unparse
2 parents 51405e8 + ef2e56a commit 18f6924

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

Lib/_ast_unparse.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class _Precedence:
1616

1717
NAMED_EXPR = auto() # <target> := <expr1>
1818
TUPLE = auto() # <expr1>, <expr2>
19-
YIELD = auto() # 'yield', 'yield from'
19+
YIELD = auto() # 'yield', 'yield from', 'async yield from'
2020
TEST = auto() # 'if'-'else', 'lambda'
2121
OR = auto() # 'or'
2222
AND = auto() # 'and'
@@ -334,6 +334,14 @@ def visit_YieldFrom(self, node):
334334
self.set_precedence(_Precedence.ATOM, node.value)
335335
self.traverse(node.value)
336336

337+
def visit_AsyncYieldFrom(self, node):
338+
with self.require_parens(_Precedence.YIELD, node):
339+
self.write("async yield from ")
340+
if not node.value:
341+
raise ValueError("Node can't be used without a value attribute.")
342+
self.set_precedence(_Precedence.ATOM, node.value)
343+
self.traverse(node.value)
344+
337345
def visit_Raise(self, node):
338346
self.fill("raise")
339347
if not node.exc:

0 commit comments

Comments
 (0)