summaryrefslogtreecommitdiff
path: root/coverage/pytracer.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2017-01-13 07:31:57 -0500
committerNed Batchelder <ned@nedbatchelder.com>2017-01-13 07:31:57 -0500
commitc9aa6917e8ae67640f14dcd302b30d2cbe234fa8 (patch)
treedf95f1f00d0b437fc68ced04b8deec07d7734e3c /coverage/pytracer.py
parente0786fc45d2f0ae38a058e066bc2bd9cb4071543 (diff)
downloadpython-coveragepy-git-c9aa6917e8ae67640f14dcd302b30d2cbe234fa8.tar.gz
Jython doesn't have useful co_code or f_lasti
Diffstat (limited to 'coverage/pytracer.py')
-rw-r--r--coverage/pytracer.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/coverage/pytracer.py b/coverage/pytracer.py
index 5a1b5d7b..bb300563 100644
--- a/coverage/pytracer.py
+++ b/coverage/pytracer.py
@@ -116,8 +116,9 @@ class PyTracer(object):
if self.trace_arcs and self.cur_file_dict:
# Record an arc leaving the function, but beware that a
# "return" event might just mean yielding from a generator.
- bytecode = frame.f_code.co_code[frame.f_lasti]
- if bytecode != YIELD_VALUE:
+ # Jython seems to have an empty co_code, so just assume return.
+ code = frame.f_code.co_code
+ if (not code) or code[frame.f_lasti] != YIELD_VALUE:
first = frame.f_code.co_firstlineno
self.cur_file_dict[(self.last_line, -first)] = None
# Leaving this function, pop the filename stack.