Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/coverage/bytecode.py: 36%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

11 statements  

1# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 

2# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt 

3 

4"""Bytecode manipulation for coverage.py""" 

5 

6import types 

7 

8 

9def code_objects(code): 

10 """Iterate over all the code objects in `code`.""" 

11 stack = [code] 

12 while stack: 

13 # We're going to return the code object on the stack, but first 

14 # push its children for later returning. 

15 code = stack.pop() 

16 for c in code.co_consts: 

17 if isinstance(c, types.CodeType): 

18 stack.append(c) 

19 yield code