Path 1: 271 calls (0.95)

FunctionDef (267) AsyncFunctionDef (4)

SphinxDocstring (90) GoogleDocstring (80) NumpyDocstring (70) Docstring (31)

1def check_functiondef_params(
2        self, node: nodes.FunctionDef, node_doc: Docstring
3    ) -> None:
4        node_allow_no_param = None
5        if node.name in self.constructor_names:
6            class_node = checker_utils.node_frame_class(node)
7            if class_node is not None:
8                class_doc = utils.docstringify(
9                    class_node.doc_node, self.linter.config.default_docstring_type
10                )
11                self.check_single_constructor_params(class_doc, node_doc, class_node)
12
13                # __init__ or class docstrings can have no parameters documented
14                # as long as the other documents them.
15                node_allow_no_param = (
16                    class_doc.has_params()
17                    or class_doc.params_documented_elsewhere()
18                    or None
19                )
20                class_allow_no_param = (
21                    node_doc.has_params()
22                    or node_doc.params_documented_elsewhere()
23                    or None
24                )
25
26                self.check_arguments_in_docstring(
27                    class_doc, node.args, class_node, class_allow_no_param
28                )
29
30        self.check_arguments_in_docstring(
31            node_doc, node.args, node, node_allow_no_param
32        )
            

Path 2: 4 calls (0.01)

FunctionDef (4)

Docstring (4)

1def check_functiondef_params(
2        self, node: nodes.FunctionDef, node_doc: Docstring
3    ) -> None:
4        node_allow_no_param = None
5        if node.name in self.constructor_names:
6            class_node = checker_utils.node_frame_class(node)
7            if class_node is not None:
8                class_doc = utils.docstringify(
9                    class_node.doc_node, self.linter.config.default_docstring_type
10                )
11                self.check_single_constructor_params(class_doc, node_doc, class_node)
12
13                # __init__ or class docstrings can have no parameters documented
14                # as long as the other documents them.
15                node_allow_no_param = (
16                    class_doc.has_params()
17                    or class_doc.params_documented_elsewhere()
18                    or None
19                )
20                class_allow_no_param = (
21                    node_doc.has_params()
22                    or node_doc.params_documented_elsewhere()
23                    or None
24                )
25
26                self.check_arguments_in_docstring(
27                    class_doc, node.args, class_node, class_allow_no_param
28                )
29
30        self.check_arguments_in_docstring(
31            node_doc, node.args, node, node_allow_no_param
32        )
            

Path 3: 4 calls (0.01)

FunctionDef (4)

SphinxDocstring (2) GoogleDocstring (1) NumpyDocstring (1)

1def check_functiondef_params(
2        self, node: nodes.FunctionDef, node_doc: Docstring
3    ) -> None:
4        node_allow_no_param = None
5        if node.name in self.constructor_names:
6            class_node = checker_utils.node_frame_class(node)
7            if class_node is not None:
8                class_doc = utils.docstringify(
9                    class_node.doc_node, self.linter.config.default_docstring_type
10                )
11                self.check_single_constructor_params(class_doc, node_doc, class_node)
12
13                # __init__ or class docstrings can have no parameters documented
14                # as long as the other documents them.
15                node_allow_no_param = (
16                    class_doc.has_params()
17                    or class_doc.params_documented_elsewhere()
18                    or None
19                )
20                class_allow_no_param = (
21                    node_doc.has_params()
22                    or node_doc.params_documented_elsewhere()
23                    or None
24                )
25
26                self.check_arguments_in_docstring(
27                    class_doc, node.args, class_node, class_allow_no_param
28                )
29
30        self.check_arguments_in_docstring(
31            node_doc, node.args, node, node_allow_no_param
32        )
            

Path 4: 3 calls (0.01)

FunctionDef (3)

GoogleDocstring (1) NumpyDocstring (1) SphinxDocstring (1)

1def check_functiondef_params(
2        self, node: nodes.FunctionDef, node_doc: Docstring
3    ) -> None:
4        node_allow_no_param = None
5        if node.name in self.constructor_names:
6            class_node = checker_utils.node_frame_class(node)
7            if class_node is not None:
8                class_doc = utils.docstringify(
9                    class_node.doc_node, self.linter.config.default_docstring_type
10                )
11                self.check_single_constructor_params(class_doc, node_doc, class_node)
12
13                # __init__ or class docstrings can have no parameters documented
14                # as long as the other documents them.
15                node_allow_no_param = (
16                    class_doc.has_params()
17                    or class_doc.params_documented_elsewhere()
18                    or None
19                )
20                class_allow_no_param = (
21                    node_doc.has_params()
22                    or node_doc.params_documented_elsewhere()
23                    or None
24                )
25
26                self.check_arguments_in_docstring(
27                    class_doc, node.args, class_node, class_allow_no_param
28                )
29
30        self.check_arguments_in_docstring(
31            node_doc, node.args, node, node_allow_no_param
32        )
            

Path 5: 2 calls (0.01)

FunctionDef (2)

Docstring (2)

1def check_functiondef_params(
2        self, node: nodes.FunctionDef, node_doc: Docstring
3    ) -> None:
4        node_allow_no_param = None
5        if node.name in self.constructor_names:
6            class_node = checker_utils.node_frame_class(node)
7            if class_node is not None:
8                class_doc = utils.docstringify(
9                    class_node.doc_node, self.linter.config.default_docstring_type
10                )
11                self.check_single_constructor_params(class_doc, node_doc, class_node)
12
13                # __init__ or class docstrings can have no parameters documented
14                # as long as the other documents them.
15                node_allow_no_param = (
16                    class_doc.has_params()
17                    or class_doc.params_documented_elsewhere()
18                    or None
19                )
20                class_allow_no_param = (
21                    node_doc.has_params()
22                    or node_doc.params_documented_elsewhere()
23                    or None
24                )
25
26                self.check_arguments_in_docstring(
27                    class_doc, node.args, class_node, class_allow_no_param
28                )
29
30        self.check_arguments_in_docstring(
31            node_doc, node.args, node, node_allow_no_param
32        )
            

Path 6: 1 calls (0.0)

FunctionDef (1)

Docstring (1)

1def check_functiondef_params(
2        self, node: nodes.FunctionDef, node_doc: Docstring
3    ) -> None:
4        node_allow_no_param = None
5        if node.name in self.constructor_names:
6            class_node = checker_utils.node_frame_class(node)
7            if class_node is not None:
8                class_doc = utils.docstringify(
9                    class_node.doc_node, self.linter.config.default_docstring_type
10                )
11                self.check_single_constructor_params(class_doc, node_doc, class_node)
12
13                # __init__ or class docstrings can have no parameters documented
14                # as long as the other documents them.
15                node_allow_no_param = (
16                    class_doc.has_params()
17                    or class_doc.params_documented_elsewhere()
18                    or None
19                )
20                class_allow_no_param = (
21                    node_doc.has_params()
22                    or node_doc.params_documented_elsewhere()
23                    or None
24                )
25
26                self.check_arguments_in_docstring(
27                    class_doc, node.args, class_node, class_allow_no_param
28                )
29
30        self.check_arguments_in_docstring(
31            node_doc, node.args, node, node_allow_no_param
32        )
            

Path 7: 1 calls (0.0)

FunctionDef (1)

Docstring (1)

1def check_functiondef_params(
2        self, node: nodes.FunctionDef, node_doc: Docstring
3    ) -> None:
4        node_allow_no_param = None
5        if node.name in self.constructor_names:
6            class_node = checker_utils.node_frame_class(node)
7            if class_node is not None:
8                class_doc = utils.docstringify(
9                    class_node.doc_node, self.linter.config.default_docstring_type
10                )
11                self.check_single_constructor_params(class_doc, node_doc, class_node)
12
13                # __init__ or class docstrings can have no parameters documented
14                # as long as the other documents them.
15                node_allow_no_param = (
16                    class_doc.has_params()
17                    or class_doc.params_documented_elsewhere()
18                    or None
19                )
20                class_allow_no_param = (
21                    node_doc.has_params()
22                    or node_doc.params_documented_elsewhere()
23                    or None
24                )
25
26                self.check_arguments_in_docstring(
27                    class_doc, node.args, class_node, class_allow_no_param
28                )
29
30        self.check_arguments_in_docstring(
31            node_doc, node.args, node, node_allow_no_param
32        )