Method: pylint.extensions.docparams.DocstringParameterChecker.check_functiondef_params
Calls: 286, Exceptions: 0, Paths: 7Back
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 )