mirror of
https://github.com/python/cpython.git
synced 2024-11-23 18:04:37 +08:00
parent
c018f57186
commit
7d14015e62
@ -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)
|
||||
|
@ -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):
|
||||
"""
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user