Method: pylint.extensions.redefined_loop_name.RedefinedLoopNameChecker.visit_for
Calls: 27, Exceptions: 0, Paths: 6Back
Path 1: 13 calls (0.48)
For (13)
1@utils.only_required_for_messages("redefined-loop-name")
2 def visit_for(self, node: nodes.For) -> None:
3 assigned_to = [a.name for a in node.target.nodes_of_class(nodes.AssignName)]
4 # Only check variables that are used
5 assigned_to = [
6 var
7 for var in assigned_to
8 if not self.linter.config.dummy_variables_rgx.match(var)
9 ]
10
11 node_scope = node.scope()
12 for variable in assigned_to:
13 for outer_for, outer_variables, outer_for_scope in self._loop_variables:
14 if node_scope is not outer_for_scope:
15 continue
16 if variable in outer_variables and not utils.in_for_else_branch(
17 outer_for, node
18 ):
19 self.add_message(
20 "redefined-loop-name",
21 args=(variable, outer_for.fromlineno),
22 node=node,
23 confidence=HIGH,
24 )
25 break
26
27 self._loop_variables.append((node, assigned_to, node.scope()))
Path 2: 6 calls (0.22)
For (6)
1@utils.only_required_for_messages("redefined-loop-name")
2 def visit_for(self, node: nodes.For) -> None:
3 assigned_to = [a.name for a in node.target.nodes_of_class(nodes.AssignName)]
4 # Only check variables that are used
5 assigned_to = [
6 var
7 for var in assigned_to
8 if not self.linter.config.dummy_variables_rgx.match(var)
9 ]
10
11 node_scope = node.scope()
12 for variable in assigned_to:
13 for outer_for, outer_variables, outer_for_scope in self._loop_variables:
14 if node_scope is not outer_for_scope:
15 continue
16 if variable in outer_variables and not utils.in_for_else_branch(
17 outer_for, node
18 ):
19 self.add_message(
20 "redefined-loop-name",
21 args=(variable, outer_for.fromlineno),
22 node=node,
23 confidence=HIGH,
24 )
25 break
26
27 self._loop_variables.append((node, assigned_to, node.scope()))
Path 3: 3 calls (0.11)
For (3)
1@utils.only_required_for_messages("redefined-loop-name")
2 def visit_for(self, node: nodes.For) -> None:
3 assigned_to = [a.name for a in node.target.nodes_of_class(nodes.AssignName)]
4 # Only check variables that are used
5 assigned_to = [
6 var
7 for var in assigned_to
8 if not self.linter.config.dummy_variables_rgx.match(var)
9 ]
10
11 node_scope = node.scope()
12 for variable in assigned_to:
13 for outer_for, outer_variables, outer_for_scope in self._loop_variables:
14 if node_scope is not outer_for_scope:
15 continue
16 if variable in outer_variables and not utils.in_for_else_branch(
17 outer_for, node
18 ):
19 self.add_message(
20 "redefined-loop-name",
21 args=(variable, outer_for.fromlineno),
22 node=node,
23 confidence=HIGH,
24 )
25 break
26
27 self._loop_variables.append((node, assigned_to, node.scope()))
Path 4: 3 calls (0.11)
For (3)
1@utils.only_required_for_messages("redefined-loop-name")
2 def visit_for(self, node: nodes.For) -> None:
3 assigned_to = [a.name for a in node.target.nodes_of_class(nodes.AssignName)]
4 # Only check variables that are used
5 assigned_to = [
6 var
7 for var in assigned_to
8 if not self.linter.config.dummy_variables_rgx.match(var)
9 ]
10
11 node_scope = node.scope()
12 for variable in assigned_to:
13 for outer_for, outer_variables, outer_for_scope in self._loop_variables:
14 if node_scope is not outer_for_scope:
15 continue
16 if variable in outer_variables and not utils.in_for_else_branch(
17 outer_for, node
18 ):
19 self.add_message(
20 "redefined-loop-name",
21 args=(variable, outer_for.fromlineno),
22 node=node,
23 confidence=HIGH,
24 )
25 break
26
27 self._loop_variables.append((node, assigned_to, node.scope()))
Path 5: 1 calls (0.04)
For (1)
1@utils.only_required_for_messages("redefined-loop-name")
2 def visit_for(self, node: nodes.For) -> None:
3 assigned_to = [a.name for a in node.target.nodes_of_class(nodes.AssignName)]
4 # Only check variables that are used
5 assigned_to = [
6 var
7 for var in assigned_to
8 if not self.linter.config.dummy_variables_rgx.match(var)
9 ]
10
11 node_scope = node.scope()
12 for variable in assigned_to:
13 for outer_for, outer_variables, outer_for_scope in self._loop_variables:
14 if node_scope is not outer_for_scope:
15 continue
16 if variable in outer_variables and not utils.in_for_else_branch(
17 outer_for, node
18 ):
19 self.add_message(
20 "redefined-loop-name",
21 args=(variable, outer_for.fromlineno),
22 node=node,
23 confidence=HIGH,
24 )
25 break
26
27 self._loop_variables.append((node, assigned_to, node.scope()))
Path 6: 1 calls (0.04)
For (1)
1@utils.only_required_for_messages("redefined-loop-name")
2 def visit_for(self, node: nodes.For) -> None:
3 assigned_to = [a.name for a in node.target.nodes_of_class(nodes.AssignName)]
4 # Only check variables that are used
5 assigned_to = [
6 var
7 for var in assigned_to
8 if not self.linter.config.dummy_variables_rgx.match(var)
9 ]
10
11 node_scope = node.scope()
12 for variable in assigned_to:
13 for outer_for, outer_variables, outer_for_scope in self._loop_variables:
14 if node_scope is not outer_for_scope:
15 continue
16 if variable in outer_variables and not utils.in_for_else_branch(
17 outer_for, node
18 ):
19 self.add_message(
20 "redefined-loop-name",
21 args=(variable, outer_for.fromlineno),
22 node=node,
23 confidence=HIGH,
24 )
25 break
26
27 self._loop_variables.append((node, assigned_to, node.scope()))