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()))