Path 1: 6 calls (0.4)

Call (6)

1@only_required_for_messages("bad-builtin")
2    def visit_call(self, node: nodes.Call) -> None:
3        if isinstance(node.func, nodes.Name):
4            name = node.func.name
5            # ignore the name if it's not a builtin (i.e. not defined in the
6            # locals nor globals scope)
7            if not (name in node.frame(future=True) or name in node.root()):
8                if name in self.linter.config.bad_functions:
9                    hint = BUILTIN_HINTS.get(name)
10                    args = f"{name!r}. {hint}" if hint else repr(name)
11                    self.add_message("bad-builtin", node=node, args=args)
            

Path 2: 6 calls (0.4)

Call (6)

1@only_required_for_messages("bad-builtin")
2    def visit_call(self, node: nodes.Call) -> None:
3        if isinstance(node.func, nodes.Name):
4            name = node.func.name
5            # ignore the name if it's not a builtin (i.e. not defined in the
6            # locals nor globals scope)
7            if not (name in node.frame(future=True) or name in node.root()):
8                if name in self.linter.config.bad_functions:
9                    hint = BUILTIN_HINTS.get(name)
10                    args = f"{name!r}. {hint}" if hint else repr(name)
11                    self.add_message("bad-builtin", node=node, args=args)
            

Path 3: 2 calls (0.13)

Call (2)

1@only_required_for_messages("bad-builtin")
2    def visit_call(self, node: nodes.Call) -> None:
3        if isinstance(node.func, nodes.Name):
4            name = node.func.name
5            # ignore the name if it's not a builtin (i.e. not defined in the
6            # locals nor globals scope)
7            if not (name in node.frame(future=True) or name in node.root()):
8                if name in self.linter.config.bad_functions:
9                    hint = BUILTIN_HINTS.get(name)
10                    args = f"{name!r}. {hint}" if hint else repr(name)
11                    self.add_message("bad-builtin", node=node, args=args)
            

Path 4: 1 calls (0.07)

Call (1)

1@only_required_for_messages("bad-builtin")
2    def visit_call(self, node: nodes.Call) -> None:
3        if isinstance(node.func, nodes.Name):
4            name = node.func.name
5            # ignore the name if it's not a builtin (i.e. not defined in the
6            # locals nor globals scope)
7            if not (name in node.frame(future=True) or name in node.root()):
8                if name in self.linter.config.bad_functions:
9                    hint = BUILTIN_HINTS.get(name)
10                    args = f"{name!r}. {hint}" if hint else repr(name)
11                    self.add_message("bad-builtin", node=node, args=args)