summaryrefslogtreecommitdiff
path: root/coverage/parser.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2021-11-11 06:54:06 -0500
committerNed Batchelder <ned@nedbatchelder.com>2021-11-11 06:54:06 -0500
commit79f9f4575321fafc2ef770e3255f874db3d4b037 (patch)
tree55585f53e63083145add45c9779d3124ec171566 /coverage/parser.py
parent0387bbaa5e9ab2ad834311249802695ebb0c34ca (diff)
downloadpython-coveragepy-git-79f9f4575321fafc2ef770e3255f874db3d4b037.tar.gz
refactor: we no longer need to treat 'class' lines specially
Originally, this tokenizing code was paired with bytecode analysis. But now we use AST instead, so class lines don't need to be handled differently.
Diffstat (limited to 'coverage/parser.py')
-rw-r--r--coverage/parser.py15
1 files changed, 0 insertions, 15 deletions
diff --git a/coverage/parser.py b/coverage/parser.py
index b47fd12e..d17d7c9b 100644
--- a/coverage/parser.py
+++ b/coverage/parser.py
@@ -67,9 +67,6 @@ class PythonParser:
# The raw line numbers of excluded lines of code, as marked by pragmas.
self.raw_excluded = set()
- # The line numbers of class definitions.
- self.raw_classdefs = set()
-
# The line numbers of docstring lines.
self.raw_docstrings = set()
@@ -133,12 +130,6 @@ class PythonParser:
indent += 1
elif toktype == token.DEDENT:
indent -= 1
- elif toktype == token.NAME:
- if ttext == 'class':
- # Class definitions look like branches in the bytecode, so
- # we need to exclude them. The simplest way is to note the
- # lines with the 'class' keyword.
- self.raw_classdefs.add(slineno)
elif toktype == token.OP:
if ttext == ':' and nesting == 0:
should_exclude = (elineno in self.raw_excluded) or excluding_decorators
@@ -301,12 +292,6 @@ class PythonParser:
continue
exit_counts[l1] += 1
- # Class definitions have one extra exit, so remove one for each:
- for l in self.raw_classdefs:
- # Ensure key is there: class definitions can include excluded lines.
- if l in exit_counts:
- exit_counts[l] -= 1
-
return exit_counts
def missing_arc_description(self, start, end, executed_arcs=None):