summaryrefslogtreecommitdiff
path: root/coverage/env.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2020-12-23 16:23:25 -0500
committerNed Batchelder <ned@nedbatchelder.com>2021-01-10 09:46:18 -0500
commit0482302f1b2afbf9e638db713a7aa11cb272792d (patch)
treee07033e2c2c86146a3f25e6f45212caa7cec3c99 /coverage/env.py
parent92dae9e44caa538f184585f4d907d2124732f8a0 (diff)
downloadpython-coveragepy-git-0482302f1b2afbf9e638db713a7aa11cb272792d.tar.gz
Python 3.10 doesn't compile statments after unconditional jumps.
This includes break/continue/return/raise.
Diffstat (limited to 'coverage/env.py')
-rw-r--r--coverage/env.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/coverage/env.py b/coverage/env.py
index 80153ecf..5c612413 100644
--- a/coverage/env.py
+++ b/coverage/env.py
@@ -85,6 +85,13 @@ class PYBEHAVIOR(object):
# Python 3.9a1 made sys.argv[0] and other reported files absolute paths.
report_absolute_files = (PYVERSION >= (3, 9))
+ # Lines after break/continue/return/raise are no longer compiled into the
+ # bytecode. They used to be marked as missing, now they aren't executable.
+ omit_after_jump = pep626
+
+ # PyPy has always omitted statements after return.
+ omit_after_return = omit_after_jump or PYPY
+
# Coverage.py specifics.
# Are we using the C-implemented trace function?