eric6/DebugClients/Python/coverage/bytecode.py

changeset 7427
362cd1b6f81a
parent 6942
2602857055c5
diff -r dc171b1d8261 -r 362cd1b6f81a eric6/DebugClients/Python/coverage/bytecode.py
--- a/eric6/DebugClients/Python/coverage/bytecode.py	Wed Feb 19 19:38:36 2020 +0100
+++ b/eric6/DebugClients/Python/coverage/bytecode.py	Sat Feb 22 14:27:42 2020 +0100
@@ -1,22 +1,19 @@
 # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
-# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
+# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
 
 """Bytecode manipulation for coverage.py"""
 
 import types
 
 
-class CodeObjects(object):
+def code_objects(code):
     """Iterate over all the code objects in `code`."""
-    def __init__(self, code):
-        self.stack = [code]
-
-    def __iter__(self):
-        while self.stack:
-            # We're going to return the code object on the stack, but first
-            # push its children for later returning.
-            code = self.stack.pop()
-            for c in code.co_consts:
-                if isinstance(c, types.CodeType):
-                    self.stack.append(c)
-            yield code
+    stack = [code]
+    while stack:
+        # We're going to return the code object on the stack, but first
+        # push its children for later returning.
+        code = stack.pop()
+        for c in code.co_consts:
+            if isinstance(c, types.CodeType):
+                stack.append(c)
+        yield code

eric ide

mercurial