summaryrefslogtreecommitdiff
path: root/coverage/parser.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2016-01-01 16:10:50 -0500
committerNed Batchelder <ned@nedbatchelder.com>2016-01-01 16:10:50 -0500
commitf1e583f91035983237d248b417b8ca9831ceac39 (patch)
tree0bce77a485184176a494a2ab3345df6303769414 /coverage/parser.py
parentc9464bbc696d393799c0989e4ca132987cc2fbb3 (diff)
downloadpython-coveragepy-git-f1e583f91035983237d248b417b8ca9831ceac39.tar.gz
check_coverage now assumes empty missing and unpredicted, and uses branch always
--HG-- branch : ast-branch
Diffstat (limited to 'coverage/parser.py')
-rw-r--r--coverage/parser.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/coverage/parser.py b/coverage/parser.py
index 33480924..2396fb8c 100644
--- a/coverage/parser.py
+++ b/coverage/parser.py
@@ -347,7 +347,7 @@ class AstArcAnalyzer(object):
def line_Dict(self, node):
# Python 3.5 changed how dict literals are made.
- if env.PYVERSION >= (3, 5):
+ if env.PYVERSION >= (3, 5) and node.keys:
return node.keys[0].lineno
return node.lineno
@@ -587,7 +587,7 @@ class AstArcAnalyzer(object):
def handle_default(self, node):
node_name = node.__class__.__name__
if node_name not in ["Assign", "Assert", "AugAssign", "Expr", "Import", "Pass", "Print"]:
- print("*** Unhandled: {}".format(node))
+ print("*** Unhandled: {0}".format(node))
return set([self.line_for_node(node)])
CODE_COMPREHENSIONS = set(["GeneratorExp", "DictComp", "SetComp"])
@@ -1049,6 +1049,10 @@ SKIP_FIELDS = ["ctx"]
def ast_dump(node, depth=0):
indent = " " * depth
+ if not isinstance(node, ast.AST):
+ print("{0}<{1} {2!r}>".format(indent, node.__class__.__name__, node))
+ return
+
lineno = getattr(node, "lineno", None)
if lineno is not None:
linemark = " @ {0}".format(lineno)