eric7/DebugClients/Python/coverage/bytecode.py

branch
eric7
changeset 8312
800c432b34c8
parent 7427
362cd1b6f81a
diff -r 4e8b98454baa -r 800c432b34c8 eric7/DebugClients/Python/coverage/bytecode.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/DebugClients/Python/coverage/bytecode.py	Sat May 15 18:45:04 2021 +0200
@@ -0,0 +1,19 @@
+# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
+# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
+
+"""Bytecode manipulation for coverage.py"""
+
+import types
+
+
+def code_objects(code):
+    """Iterate over all the code objects in `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