Method: pylint.checkers.design_analysis.MisdesignChecker.leave_functiondef
Calls: 3521, Exceptions: 0, Paths: 5Back
Path 1: 3506 calls (1.0)
FunctionDef (3453) 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 )
8 def leave_functiondef(self, node: nodes.FunctionDef) -> None:
9 """Most of the work is done here on close:
10 checks for max returns, branch, return in __init__.
11 """
12 returns = self._returns.pop()
13 if returns > self.linter.config.max_returns:
14 self.add_message(
15 "too-many-return-statements",
16 node=node,
17 args=(returns, self.linter.config.max_returns),
18 )
19 branches = self._branches[node]
20 if branches > self.linter.config.max_branches:
21 self.add_message(
22 "too-many-branches",
23 node=node,
24 args=(branches, self.linter.config.max_branches),
25 )
26 # check number of statements
27 stmts = self._stmts.pop()
28 if stmts > self.linter.config.max_statements:
29 self.add_message(
30 "too-many-statements",
31 node=node,
32 args=(stmts, self.linter.config.max_statements),
33 )
Path 2: 5 calls (0.0)
FunctionDef (5)
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 )
8 def leave_functiondef(self, node: nodes.FunctionDef) -> None:
9 """Most of the work is done here on close:
10 checks for max returns, branch, return in __init__.
11 """
12 returns = self._returns.pop()
13 if returns > self.linter.config.max_returns:
14 self.add_message(
15 "too-many-return-statements",
16 node=node,
17 args=(returns, self.linter.config.max_returns),
18 )
19 branches = self._branches[node]
20 if branches > self.linter.config.max_branches:
21 self.add_message(
22 "too-many-branches",
23 node=node,
24 args=(branches, self.linter.config.max_branches),
25 )
26 # check number of statements
27 stmts = self._stmts.pop()
28 if stmts > self.linter.config.max_statements:
29 self.add_message(
30 "too-many-statements",
31 node=node,
32 args=(stmts, self.linter.config.max_statements),
33 )
Path 3: 5 calls (0.0)
FunctionDef (5)
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 )
8 def leave_functiondef(self, node: nodes.FunctionDef) -> None:
9 """Most of the work is done here on close:
10 checks for max returns, branch, return in __init__.
11 """
12 returns = self._returns.pop()
13 if returns > self.linter.config.max_returns:
14 self.add_message(
15 "too-many-return-statements",
16 node=node,
17 args=(returns, self.linter.config.max_returns),
18 )
19 branches = self._branches[node]
20 if branches > self.linter.config.max_branches:
21 self.add_message(
22 "too-many-branches",
23 node=node,
24 args=(branches, self.linter.config.max_branches),
25 )
26 # check number of statements
27 stmts = self._stmts.pop()
28 if stmts > self.linter.config.max_statements:
29 self.add_message(
30 "too-many-statements",
31 node=node,
32 args=(stmts, self.linter.config.max_statements),
33 )
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 )
8 def leave_functiondef(self, node: nodes.FunctionDef) -> None:
9 """Most of the work is done here on close:
10 checks for max returns, branch, return in __init__.
11 """
12 returns = self._returns.pop()
13 if returns > self.linter.config.max_returns:
14 self.add_message(
15 "too-many-return-statements",
16 node=node,
17 args=(returns, self.linter.config.max_returns),
18 )
19 branches = self._branches[node]
20 if branches > self.linter.config.max_branches:
21 self.add_message(
22 "too-many-branches",
23 node=node,
24 args=(branches, self.linter.config.max_branches),
25 )
26 # check number of statements
27 stmts = self._stmts.pop()
28 if stmts > self.linter.config.max_statements:
29 self.add_message(
30 "too-many-statements",
31 node=node,
32 args=(stmts, self.linter.config.max_statements),
33 )
Path 5: 2 calls (0.0)
AsyncFunctionDef (1) FunctionDef (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 )
8 def leave_functiondef(self, node: nodes.FunctionDef) -> None:
9 """Most of the work is done here on close:
10 checks for max returns, branch, return in __init__.
11 """
12 returns = self._returns.pop()
13 if returns > self.linter.config.max_returns:
14 self.add_message(
15 "too-many-return-statements",
16 node=node,
17 args=(returns, self.linter.config.max_returns),
18 )
19 branches = self._branches[node]
20 if branches > self.linter.config.max_branches:
21 self.add_message(
22 "too-many-branches",
23 node=node,
24 args=(branches, self.linter.config.max_branches),
25 )
26 # check number of statements
27 stmts = self._stmts.pop()
28 if stmts > self.linter.config.max_statements:
29 self.add_message(
30 "too-many-statements",
31 node=node,
32 args=(stmts, self.linter.config.max_statements),
33 )