summaryrefslogtreecommitdiff
path: root/coverage/parser.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2009-10-16 07:57:08 -0400
committerNed Batchelder <ned@nedbatchelder.com>2009-10-16 07:57:08 -0400
commitc949c5f30a9003dbf02a87190119625397c5e04c (patch)
tree0bd41b43f54b5e51762b1e048c2c75895a3c0250 /coverage/parser.py
parent84c9cc21909050a008ac2964ac387feaa2ad0f74 (diff)
downloadpython-coveragepy-git-c949c5f30a9003dbf02a87190119625397c5e04c.tar.gz
Ad-hoc discovery of opcodes that need to be parsed. BREAK_LOOP is implicit? yikes...
Diffstat (limited to 'coverage/parser.py')
-rw-r--r--coverage/parser.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/coverage/parser.py b/coverage/parser.py
index 9460f083..8884e413 100644
--- a/coverage/parser.py
+++ b/coverage/parser.py
@@ -274,7 +274,10 @@ class ByteParser:
return last_line
_code_enders = set([opcode.opmap[name] for name in ['RETURN_VALUE']])
- _chunk_enders = set([opcode.opmap[name] for name in ['JUMP_ABSOLUTE', 'JUMP_FORWARD']])
+ _chunk_enders = set([opcode.opmap[name] for name in [
+ 'JUMP_ABSOLUTE', 'JUMP_FORWARD', 'BREAK_LOOP', 'CONTINUE_LOOP',
+ 'RAISE_VARARGS'
+ ]])
_chunk_enders |= _code_enders
def _split_into_chunks(self):
@@ -391,7 +394,7 @@ class ByteParser:
for bp in self.child_parsers():
chunks.extend(bp._split_into_chunks())
- return [], chunks
+ return chunks
def _all_arcs(self):
arcs = []
@@ -452,16 +455,13 @@ class AdHocMain(object):
bp._disassemble()
if options.chunks:
- warnings, chunks = bp._all_chunks()
+ chunks = bp._all_chunks()
if options.recursive:
print("%6d: %s" % (len(chunks), filename))
- if warnings:
- print("\t%r" % (warnings,))
else:
- print(warnings)
- print(chunks)
+ print("Chunks: %r" % chunks)
arcs = bp._all_arcs()
- print(arcs)
+ print("Arcs: %r" % arcs)
if options.source or options.tokens:
cp = CodeParser(filename=filename, exclude=r"no\s*cover")