diff options
author | Andrew Svetlov <andrew.svetlov@gmail.com> | 2012-10-06 14:11:45 (GMT) |
---|---|---|
committer | Andrew Svetlov <andrew.svetlov@gmail.com> | 2012-10-06 14:11:45 (GMT) |
commit | 7d14015e629da702f17d5e0ab616c15c8145e771 (patch) | |
tree | c4905ff89a2d5c64486a6ffdeddc5ae74cf848ae | |
parent | c018f57186bed05a129a0eda5d9ae11d94da5189 (diff) | |
download | cpython-7d14015e629da702f17d5e0ab616c15c8145e771.zip cpython-7d14015e629da702f17d5e0ab616c15c8145e771.tar.gz cpython-7d14015e629da702f17d5e0ab616c15c8145e771.tar.bz2 |
Issue #16120: Use |yield from| in stdlib.
Patch by Berker Peksag.
-rw-r--r-- | Lib/lib2to3/btm_utils.py | 6 | ||||
-rw-r--r-- | Lib/lib2to3/pytree.py | 9 | ||||
-rw-r--r-- | Lib/unittest/loader.py | 3 |
3 files changed, 6 insertions, 12 deletions
diff --git a/Lib/lib2to3/btm_utils.py b/Lib/lib2to3/btm_utils.py index 2276dc9..339750e 100644 --- a/Lib/lib2to3/btm_utils.py +++ b/Lib/lib2to3/btm_utils.py @@ -96,8 +96,7 @@ class MinNode(object): def leaves(self): "Generator that returns the leaves of the tree" for child in self.children: - for x in child.leaves(): - yield x + yield from child.leaves() if not self.children: yield self @@ -277,7 +276,6 @@ def rec_test(sequence, test_func): sub-iterables""" for x in sequence: if isinstance(x, (list, tuple)): - for y in rec_test(x, test_func): - yield y + yield from rec_test(x, test_func) else: yield test_func(x) diff --git a/Lib/lib2to3/pytree.py b/Lib/lib2to3/pytree.py index 17cbf0a..c4a1be3 100644 --- a/Lib/lib2to3/pytree.py +++ b/Lib/lib2to3/pytree.py @@ -194,8 +194,7 @@ class Base(object): def leaves(self): for child in self.children: - for x in child.leaves(): - yield x + yield from child.leaves() def depth(self): if self.parent is None: @@ -274,16 +273,14 @@ class Node(Base): def post_order(self): """Return a post-order iterator for the tree.""" for child in self.children: - for node in child.post_order(): - yield node + yield from child.post_order() yield self def pre_order(self): """Return a pre-order iterator for the tree.""" yield self for child in self.children: - for node in child.pre_order(): - yield node + yield from child.pre_order() def _prefix_getter(self): """ diff --git a/Lib/unittest/loader.py b/Lib/unittest/loader.py index 541884e..a5ac737 100644 --- a/Lib/unittest/loader.py +++ b/Lib/unittest/loader.py @@ -291,8 +291,7 @@ class TestLoader(object): # tests loaded from package file yield tests # recurse into the package - for test in self._find_tests(full_path, pattern): - yield test + yield from self._find_tests(full_path, pattern) else: try: yield load_tests(self, tests, pattern) |