Path 1: 103 calls (0.61)

With (103)

1@only_required_for_messages("useless-with-lock")
2    def visit_with(self, node: nodes.With) -> None:
3        context_managers = (c for c, _ in node.items if isinstance(c, nodes.Call))
4        for context_manager in context_managers:
5            if isinstance(context_manager, nodes.Call):
6                infered_function = safe_infer(context_manager.func)
7                if infered_function is None:
8                    continue
9                qname = infered_function.qname()
10                if qname in self.LOCKS:
11                    self.add_message("useless-with-lock", node=node, args=qname)
            

Path 2: 46 calls (0.27)

With (46)

1@only_required_for_messages("useless-with-lock")
2    def visit_with(self, node: nodes.With) -> None:
3        context_managers = (c for c, _ in node.items if isinstance(c, nodes.Call))
4        for context_manager in context_managers:
5            if isinstance(context_manager, nodes.Call):
6                infered_function = safe_infer(context_manager.func)
7                if infered_function is None:
8                    continue
9                qname = infered_function.qname()
10                if qname in self.LOCKS:
11                    self.add_message("useless-with-lock", node=node, args=qname)
            

Path 3: 11 calls (0.07)

With (11)

1@only_required_for_messages("useless-with-lock")
2    def visit_with(self, node: nodes.With) -> None:
3        context_managers = (c for c, _ in node.items if isinstance(c, nodes.Call))
4        for context_manager in context_managers:
5            if isinstance(context_manager, nodes.Call):
6                infered_function = safe_infer(context_manager.func)
7                if infered_function is None:
8                    continue
9                qname = infered_function.qname()
10                if qname in self.LOCKS:
11                    self.add_message("useless-with-lock", node=node, args=qname)
            

Path 4: 8 calls (0.05)

With (8)

1@only_required_for_messages("useless-with-lock")
2    def visit_with(self, node: nodes.With) -> None:
3        context_managers = (c for c, _ in node.items if isinstance(c, nodes.Call))
4        for context_manager in context_managers:
5            if isinstance(context_manager, nodes.Call):
6                infered_function = safe_infer(context_manager.func)
7                if infered_function is None:
8                    continue
9                qname = infered_function.qname()
10                if qname in self.LOCKS:
11                    self.add_message("useless-with-lock", node=node, args=qname)