Path 1: 1805 calls (0.51)

FunctionDef (1768) AsyncFunctionDef (37)

None (1805)

1@only_required_for_messages(
2        "unexpected-special-method-signature",
3        "non-iterator-returned",
4        "invalid-length-returned",
5        "invalid-bool-returned",
6        "invalid-index-returned",
7        "invalid-repr-returned",
8        "invalid-str-returned",
9        "invalid-bytes-returned",
10        "invalid-hash-returned",
11        "invalid-length-hint-returned",
12        "invalid-format-returned",
13        "invalid-getnewargs-returned",
14        "invalid-getnewargs-ex-returned",
15    )
16    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
17        if not node.is_method():
18            return
19
20        inferred = _safe_infer_call_result(node, node)
21        # Only want to check types that we are able to infer
22        if (
23            inferred
24            and node.name in self._protocol_map
25            and not is_function_body_ellipsis(node)
26        ):
27            self._protocol_map[node.name](node, inferred)
28
29        if node.name in PYMETHODS:
30            self._check_unexpected_method_signature(node)
            

Path 2: 579 calls (0.16)

FunctionDef (569) AsyncFunctionDef (10)

1@only_required_for_messages(
2        "unexpected-special-method-signature",
3        "non-iterator-returned",
4        "invalid-length-returned",
5        "invalid-bool-returned",
6        "invalid-index-returned",
7        "invalid-repr-returned",
8        "invalid-str-returned",
9        "invalid-bytes-returned",
10        "invalid-hash-returned",
11        "invalid-length-hint-returned",
12        "invalid-format-returned",
13        "invalid-getnewargs-returned",
14        "invalid-getnewargs-ex-returned",
15    )
16    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
17        if not node.is_method():
18            return
19
20        inferred = _safe_infer_call_result(node, node)
21        # Only want to check types that we are able to infer
22        if (
23            inferred
24            and node.name in self._protocol_map
25            and not is_function_body_ellipsis(node)
26        ):
27            self._protocol_map[node.name](node, inferred)
28
29        if node.name in PYMETHODS:
30            self._check_unexpected_method_signature(node)
            

Path 3: 481 calls (0.14)

FunctionDef (477) AsyncFunctionDef (4)

1@only_required_for_messages(
2        "unexpected-special-method-signature",
3        "non-iterator-returned",
4        "invalid-length-returned",
5        "invalid-bool-returned",
6        "invalid-index-returned",
7        "invalid-repr-returned",
8        "invalid-str-returned",
9        "invalid-bytes-returned",
10        "invalid-hash-returned",
11        "invalid-length-hint-returned",
12        "invalid-format-returned",
13        "invalid-getnewargs-returned",
14        "invalid-getnewargs-ex-returned",
15    )
16    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
17        if not node.is_method():
18            return
19
20        inferred = _safe_infer_call_result(node, node)
21        # Only want to check types that we are able to infer
22        if (
23            inferred
24            and node.name in self._protocol_map
25            and not is_function_body_ellipsis(node)
26        ):
27            self._protocol_map[node.name](node, inferred)
28
29        if node.name in PYMETHODS:
30            self._check_unexpected_method_signature(node)
            

Path 4: 341 calls (0.1)

FunctionDef (338) AsyncFunctionDef (3)

1@only_required_for_messages(
2        "unexpected-special-method-signature",
3        "non-iterator-returned",
4        "invalid-length-returned",
5        "invalid-bool-returned",
6        "invalid-index-returned",
7        "invalid-repr-returned",
8        "invalid-str-returned",
9        "invalid-bytes-returned",
10        "invalid-hash-returned",
11        "invalid-length-hint-returned",
12        "invalid-format-returned",
13        "invalid-getnewargs-returned",
14        "invalid-getnewargs-ex-returned",
15    )
16    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
17        if not node.is_method():
18            return
19
20        inferred = _safe_infer_call_result(node, node)
21        # Only want to check types that we are able to infer
22        if (
23            inferred
24            and node.name in self._protocol_map
25            and not is_function_body_ellipsis(node)
26        ):
27            self._protocol_map[node.name](node, inferred)
28
29        if node.name in PYMETHODS:
30            self._check_unexpected_method_signature(node)
            

Path 5: 193 calls (0.05)

FunctionDef (193)

1@only_required_for_messages(
2        "unexpected-special-method-signature",
3        "non-iterator-returned",
4        "invalid-length-returned",
5        "invalid-bool-returned",
6        "invalid-index-returned",
7        "invalid-repr-returned",
8        "invalid-str-returned",
9        "invalid-bytes-returned",
10        "invalid-hash-returned",
11        "invalid-length-hint-returned",
12        "invalid-format-returned",
13        "invalid-getnewargs-returned",
14        "invalid-getnewargs-ex-returned",
15    )
16    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
17        if not node.is_method():
18            return
19
20        inferred = _safe_infer_call_result(node, node)
21        # Only want to check types that we are able to infer
22        if (
23            inferred
24            and node.name in self._protocol_map
25            and not is_function_body_ellipsis(node)
26        ):
27            self._protocol_map[node.name](node, inferred)
28
29        if node.name in PYMETHODS:
30            self._check_unexpected_method_signature(node)
            

Path 6: 110 calls (0.03)

FunctionDef (110)

1@only_required_for_messages(
2        "unexpected-special-method-signature",
3        "non-iterator-returned",
4        "invalid-length-returned",
5        "invalid-bool-returned",
6        "invalid-index-returned",
7        "invalid-repr-returned",
8        "invalid-str-returned",
9        "invalid-bytes-returned",
10        "invalid-hash-returned",
11        "invalid-length-hint-returned",
12        "invalid-format-returned",
13        "invalid-getnewargs-returned",
14        "invalid-getnewargs-ex-returned",
15    )
16    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
17        if not node.is_method():
18            return
19
20        inferred = _safe_infer_call_result(node, node)
21        # Only want to check types that we are able to infer
22        if (
23            inferred
24            and node.name in self._protocol_map
25            and not is_function_body_ellipsis(node)
26        ):
27            self._protocol_map[node.name](node, inferred)
28
29        if node.name in PYMETHODS:
30            self._check_unexpected_method_signature(node)
            

Path 7: 12 calls (0.0)

FunctionDef (12)

1@only_required_for_messages(
2        "unexpected-special-method-signature",
3        "non-iterator-returned",
4        "invalid-length-returned",
5        "invalid-bool-returned",
6        "invalid-index-returned",
7        "invalid-repr-returned",
8        "invalid-str-returned",
9        "invalid-bytes-returned",
10        "invalid-hash-returned",
11        "invalid-length-hint-returned",
12        "invalid-format-returned",
13        "invalid-getnewargs-returned",
14        "invalid-getnewargs-ex-returned",
15    )
16    def visit_functiondef(self, node: nodes.FunctionDef) -> None:
17        if not node.is_method():
18            return
19
20        inferred = _safe_infer_call_result(node, node)
21        # Only want to check types that we are able to infer
22        if (
23            inferred
24            and node.name in self._protocol_map
25            and not is_function_body_ellipsis(node)
26        ):
27            self._protocol_map[node.name](node, inferred)
28
29        if node.name in PYMETHODS:
30            self._check_unexpected_method_signature(node)