Path 1: 3411 calls (0.97)

FunctionDef (3358) AsyncFunctionDef (53)

1@only_required_for_messages(
2        "too-many-return-statements",
3        "too-many-branches",
4        "too-many-arguments",
5        "too-many-locals",
6        "too-many-statements",
7        "keyword-arg-before-vararg",
8    )
9    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
10        """Check function name, docstring, arguments, redefinition,
11        variable names, max locals.
12        """
13        # init branch and returns counters
14        self._returns.append(0)
15        # check number of arguments
16        args = node.args.args
17        ignored_argument_names = self.linter.config.ignored_argument_names
18        if args is not None:
19            ignored_args_num = 0
20            if ignored_argument_names:
21                ignored_args_num = sum(
22                    1 for arg in args if ignored_argument_names.match(arg.name)
23                )
24
25            argnum = len(args) - ignored_args_num
26            if argnum > self.linter.config.max_args:
27                self.add_message(
28                    "too-many-arguments",
29                    node=node,
30                    args=(len(args), self.linter.config.max_args),
31                )
32        else:
33            ignored_args_num = 0
34        # check number of local variables
35        locnum = len(node.locals) - ignored_args_num
36
37        # decrement number of local variables if '_' is one of them
38        if "_" in node.locals:
39            locnum -= 1
40
41        if locnum > self.linter.config.max_locals:
42            self.add_message(
43                "too-many-locals",
44                node=node,
45                args=(locnum, self.linter.config.max_locals),
46            )
47        # init new statements counter
48        self._stmts.append(1)
            

Path 2: 100 calls (0.03)

FunctionDef (100)

1@only_required_for_messages(
2        "too-many-return-statements",
3        "too-many-branches",
4        "too-many-arguments",
5        "too-many-locals",
6        "too-many-statements",
7        "keyword-arg-before-vararg",
8    )
9    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
10        """Check function name, docstring, arguments, redefinition,
11        variable names, max locals.
12        """
13        # init branch and returns counters
14        self._returns.append(0)
15        # check number of arguments
16        args = node.args.args
17        ignored_argument_names = self.linter.config.ignored_argument_names
18        if args is not None:
19            ignored_args_num = 0
20            if ignored_argument_names:
21                ignored_args_num = sum(
22                    1 for arg in args if ignored_argument_names.match(arg.name)
23                )
24
25            argnum = len(args) - ignored_args_num
26            if argnum > self.linter.config.max_args:
27                self.add_message(
28                    "too-many-arguments",
29                    node=node,
30                    args=(len(args), self.linter.config.max_args),
31                )
32        else:
33            ignored_args_num = 0
34        # check number of local variables
35        locnum = len(node.locals) - ignored_args_num
36
37        # decrement number of local variables if '_' is one of them
38        if "_" in node.locals:
39            locnum -= 1
40
41        if locnum > self.linter.config.max_locals:
42            self.add_message(
43                "too-many-locals",
44                node=node,
45                args=(locnum, self.linter.config.max_locals),
46            )
47        # init new statements counter
48        self._stmts.append(1)
            

Path 3: 6 calls (0.0)

FunctionDef (6)

1@only_required_for_messages(
2        "too-many-return-statements",
3        "too-many-branches",
4        "too-many-arguments",
5        "too-many-locals",
6        "too-many-statements",
7        "keyword-arg-before-vararg",
8    )
9    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
10        """Check function name, docstring, arguments, redefinition,
11        variable names, max locals.
12        """
13        # init branch and returns counters
14        self._returns.append(0)
15        # check number of arguments
16        args = node.args.args
17        ignored_argument_names = self.linter.config.ignored_argument_names
18        if args is not None:
19            ignored_args_num = 0
20            if ignored_argument_names:
21                ignored_args_num = sum(
22                    1 for arg in args if ignored_argument_names.match(arg.name)
23                )
24
25            argnum = len(args) - ignored_args_num
26            if argnum > self.linter.config.max_args:
27                self.add_message(
28                    "too-many-arguments",
29                    node=node,
30                    args=(len(args), self.linter.config.max_args),
31                )
32        else:
33            ignored_args_num = 0
34        # check number of local variables
35        locnum = len(node.locals) - ignored_args_num
36
37        # decrement number of local variables if '_' is one of them
38        if "_" in node.locals:
39            locnum -= 1
40
41        if locnum > self.linter.config.max_locals:
42            self.add_message(
43                "too-many-locals",
44                node=node,
45                args=(locnum, self.linter.config.max_locals),
46            )
47        # init new statements counter
48        self._stmts.append(1)
            

Path 4: 3 calls (0.0)

FunctionDef (3)

1@only_required_for_messages(
2        "too-many-return-statements",
3        "too-many-branches",
4        "too-many-arguments",
5        "too-many-locals",
6        "too-many-statements",
7        "keyword-arg-before-vararg",
8    )
9    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
10        """Check function name, docstring, arguments, redefinition,
11        variable names, max locals.
12        """
13        # init branch and returns counters
14        self._returns.append(0)
15        # check number of arguments
16        args = node.args.args
17        ignored_argument_names = self.linter.config.ignored_argument_names
18        if args is not None:
19            ignored_args_num = 0
20            if ignored_argument_names:
21                ignored_args_num = sum(
22                    1 for arg in args if ignored_argument_names.match(arg.name)
23                )
24
25            argnum = len(args) - ignored_args_num
26            if argnum > self.linter.config.max_args:
27                self.add_message(
28                    "too-many-arguments",
29                    node=node,
30                    args=(len(args), self.linter.config.max_args),
31                )
32        else:
33            ignored_args_num = 0
34        # check number of local variables
35        locnum = len(node.locals) - ignored_args_num
36
37        # decrement number of local variables if '_' is one of them
38        if "_" in node.locals:
39            locnum -= 1
40
41        if locnum > self.linter.config.max_locals:
42            self.add_message(
43                "too-many-locals",
44                node=node,
45                args=(locnum, self.linter.config.max_locals),
46            )
47        # init new statements counter
48        self._stmts.append(1)
            

Path 5: 1 calls (0.0)

AsyncFunctionDef (1)

1@only_required_for_messages(
2        "too-many-return-statements",
3        "too-many-branches",
4        "too-many-arguments",
5        "too-many-locals",
6        "too-many-statements",
7        "keyword-arg-before-vararg",
8    )
9    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
10        """Check function name, docstring, arguments, redefinition,
11        variable names, max locals.
12        """
13        # init branch and returns counters
14        self._returns.append(0)
15        # check number of arguments
16        args = node.args.args
17        ignored_argument_names = self.linter.config.ignored_argument_names
18        if args is not None:
19            ignored_args_num = 0
20            if ignored_argument_names:
21                ignored_args_num = sum(
22                    1 for arg in args if ignored_argument_names.match(arg.name)
23                )
24
25            argnum = len(args) - ignored_args_num
26            if argnum > self.linter.config.max_args:
27                self.add_message(
28                    "too-many-arguments",
29                    node=node,
30                    args=(len(args), self.linter.config.max_args),
31                )
32        else:
33            ignored_args_num = 0
34        # check number of local variables
35        locnum = len(node.locals) - ignored_args_num
36
37        # decrement number of local variables if '_' is one of them
38        if "_" in node.locals:
39            locnum -= 1
40
41        if locnum > self.linter.config.max_locals:
42            self.add_message(
43                "too-many-locals",
44                node=node,
45                args=(locnum, self.linter.config.max_locals),
46            )
47        # init new statements counter
48        self._stmts.append(1)