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
commit690541622755562969d07add1b1bdbeb3fdfe064 (patch)
tree1b0ec3560d236b6c5463b594916d5cb7c1d79d15 /coverage/pytracer.py
parent9845bf47ac42e5f16fc0fc8de2d8b098fdd5c939 (diff)
downloadpython-coveragepy-690541622755562969d07add1b1bdbeb3fdfe064.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 5a1b5d7..bb30056 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.