summaryrefslogtreecommitdiff
path: root/coverage/parser.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2021-06-04 06:35:34 -0400
committerNed Batchelder <ned@nedbatchelder.com>2021-06-04 07:39:10 -0400
commit762e2c49e1b7b609271a9aece30f981bb1286829 (patch)
tree07be706f318abb686883919508865a1e6e2d6f7b /coverage/parser.py
parent3de08c60fd4e02da28603f0b4e4f082bd9b058ff (diff)
downloadpython-coveragepy-git-762e2c49e1b7b609271a9aece30f981bb1286829.tar.gz
refactor: better naming for a code object dispatcher
Diffstat (limited to 'coverage/parser.py')
-rw-r--r--coverage/parser.py30
1 files changed, 16 insertions, 14 deletions
diff --git a/coverage/parser.py b/coverage/parser.py
index 1a5f4829..81793254 100644
--- a/coverage/parser.py
+++ b/coverage/parser.py
@@ -1169,6 +1169,11 @@ class AstArcAnalyzer:
_handle__AsyncWith = _handle__With
+ # Code object dispatchers: _code_object__*
+ #
+ # These methods are used by analyze() as the start of the analysis.
+ # There is one for each construct with a code object.
+
def _code_object__Module(self, node):
start = self.line_for_node(node)
if node.body:
@@ -1199,22 +1204,19 @@ class AstArcAnalyzer:
f"didn't exit the body of class {node.name!r}",
)
- def _make_oneline_code_method(noun): # pylint: disable=no-self-argument
- """A function to make methods for online callable _code_object__ methods."""
- def _code_object__oneline_callable(self, node):
+ def _make_expression_code_method(noun): # pylint: disable=no-self-argument
+ """A function to make methods for expression-based callable _code_object__ methods."""
+ def _code_object__expression_callable(self, node):
start = self.line_for_node(node)
self.add_arc(-start, start, None, f"didn't run the {noun} on line {start}")
- self.add_arc(
- start, -start, None,
- f"didn't finish the {noun} on line {start}",
- )
- return _code_object__oneline_callable
-
- _code_object__Lambda = _make_oneline_code_method("lambda")
- _code_object__GeneratorExp = _make_oneline_code_method("generator expression")
- _code_object__DictComp = _make_oneline_code_method("dictionary comprehension")
- _code_object__SetComp = _make_oneline_code_method("set comprehension")
- _code_object__ListComp = _make_oneline_code_method("list comprehension")
+ self.add_arc(start, -start, None, f"didn't finish the {noun} on line {start}")
+ return _code_object__expression_callable
+
+ _code_object__Lambda = _make_expression_code_method("lambda")
+ _code_object__GeneratorExp = _make_expression_code_method("generator expression")
+ _code_object__DictComp = _make_expression_code_method("dictionary comprehension")
+ _code_object__SetComp = _make_expression_code_method("set comprehension")
+ _code_object__ListComp = _make_expression_code_method("list comprehension")
if AST_DUMP: # pragma: debugging