mirror of
https://github.com/davidhalter/parso.git
synced 2026-01-02 09:33:43 +08:00
iter_yield_expr should not work correctly.
This commit is contained in:
@@ -108,7 +108,7 @@ class PythonLeaf(PythonMixin, Leaf):
|
||||
# indent error leafs somehow? No idea how, though.
|
||||
previous_leaf = self.get_previous_leaf()
|
||||
if previous_leaf is not None and previous_leaf.type == 'error_leaf' \
|
||||
and previous_leaf.original_type == 'error_dedent':
|
||||
and previous_leaf.original_type in ('indent', 'error_dedent'):
|
||||
previous_leaf = previous_leaf.get_previous_leaf()
|
||||
|
||||
if previous_leaf is None:
|
||||
|
||||
@@ -121,13 +121,21 @@ def get_yield_exprs(code, version):
|
||||
return list(parse(code, version=version).children[0].iter_yield_exprs())
|
||||
|
||||
|
||||
def get_return_stmts(code):
|
||||
return list(parse(code).children[0].iter_return_stmts())
|
||||
|
||||
|
||||
def test_yields(each_version):
|
||||
y, = get_yield_exprs('def x(): yield', each_version)
|
||||
assert y.value == 'yield'
|
||||
assert y.type == 'keyword'
|
||||
|
||||
y, = get_yield_exprs('def x(): (yield 1)', each_version)
|
||||
assert y.type == 'yield_expr'
|
||||
|
||||
y, = get_yield_exprs('def x(): [1, (yield)]', each_version)
|
||||
assert y.type == 'keyword'
|
||||
|
||||
|
||||
def test_yield_from():
|
||||
y, = get_yield_exprs('def x(): (yield from 1)', '3.3')
|
||||
|
||||
Reference in New Issue
Block a user