Method: pylint.extensions.typing.TypingChecker.leave_module
Calls: 31, Exceptions: 0, Paths: 5Back
Path 1: 17 calls (0.55)
Module (17)
1@only_required_for_messages("consider-using-alias", "deprecated-typing-alias")
2 def leave_module(self, node: nodes.Module) -> None:
3 """After parsing of module is complete, add messages for
4 'consider-using-alias' check.
5
6 Make sure results are safe to recommend / collision free.
7 """
8 if self._py39_plus:
9 for msg in self._deprecated_typing_alias_msgs:
10 if (
11 self._found_broken_callable_location
12 and msg.qname == "typing.Callable"
13 ):
14 continue
15 self.add_message(
16 "deprecated-typing-alias",
17 node=msg.node,
18 args=(msg.qname, msg.alias),
19 confidence=INFERENCE,
20 )
21
22 elif self._py37_plus:
23 msg_future_import = self._msg_postponed_eval_hint(node)
24 for msg in self._consider_using_alias_msgs:
25 if msg.qname in self._alias_name_collisions:
26 continue
27 self.add_message(
28 "consider-using-alias",
29 node=msg.node,
30 args=(
31 msg.qname,
32 msg.alias,
33 msg_future_import if msg.parent_subscript else "",
34 ),
35 confidence=INFERENCE,
36 )
37
38 # Clear all module cache variables
39 self._found_broken_callable_location = False
40 self._deprecated_typing_alias_msgs.clear()
41 self._alias_name_collisions.clear()
42 self._consider_using_alias_msgs.clear()
Path 2: 5 calls (0.16)
Module (5)
1@only_required_for_messages("consider-using-alias", "deprecated-typing-alias")
2 def leave_module(self, node: nodes.Module) -> None:
3 """After parsing of module is complete, add messages for
4 'consider-using-alias' check.
5
6 Make sure results are safe to recommend / collision free.
7 """
8 if self._py39_plus:
9 for msg in self._deprecated_typing_alias_msgs:
10 if (
11 self._found_broken_callable_location
12 and msg.qname == "typing.Callable"
13 ):
14 continue
15 self.add_message(
16 "deprecated-typing-alias",
17 node=msg.node,
18 args=(msg.qname, msg.alias),
19 confidence=INFERENCE,
20 )
21
22 elif self._py37_plus:
23 msg_future_import = self._msg_postponed_eval_hint(node)
24 for msg in self._consider_using_alias_msgs:
25 if msg.qname in self._alias_name_collisions:
26 continue
27 self.add_message(
28 "consider-using-alias",
29 node=msg.node,
30 args=(
31 msg.qname,
32 msg.alias,
33 msg_future_import if msg.parent_subscript else "",
34 ),
35 confidence=INFERENCE,
36 )
37
38 # Clear all module cache variables
39 self._found_broken_callable_location = False
40 self._deprecated_typing_alias_msgs.clear()
41 self._alias_name_collisions.clear()
42 self._consider_using_alias_msgs.clear()
Path 3: 4 calls (0.13)
Module (4)
1@only_required_for_messages("consider-using-alias", "deprecated-typing-alias")
2 def leave_module(self, node: nodes.Module) -> None:
3 """After parsing of module is complete, add messages for
4 'consider-using-alias' check.
5
6 Make sure results are safe to recommend / collision free.
7 """
8 if self._py39_plus:
9 for msg in self._deprecated_typing_alias_msgs:
10 if (
11 self._found_broken_callable_location
12 and msg.qname == "typing.Callable"
13 ):
14 continue
15 self.add_message(
16 "deprecated-typing-alias",
17 node=msg.node,
18 args=(msg.qname, msg.alias),
19 confidence=INFERENCE,
20 )
21
22 elif self._py37_plus:
23 msg_future_import = self._msg_postponed_eval_hint(node)
24 for msg in self._consider_using_alias_msgs:
25 if msg.qname in self._alias_name_collisions:
26 continue
27 self.add_message(
28 "consider-using-alias",
29 node=msg.node,
30 args=(
31 msg.qname,
32 msg.alias,
33 msg_future_import if msg.parent_subscript else "",
34 ),
35 confidence=INFERENCE,
36 )
37
38 # Clear all module cache variables
39 self._found_broken_callable_location = False
40 self._deprecated_typing_alias_msgs.clear()
41 self._alias_name_collisions.clear()
42 self._consider_using_alias_msgs.clear()
Path 4: 4 calls (0.13)
Module (4)
1@only_required_for_messages("consider-using-alias", "deprecated-typing-alias")
2 def leave_module(self, node: nodes.Module) -> None:
3 """After parsing of module is complete, add messages for
4 'consider-using-alias' check.
5
6 Make sure results are safe to recommend / collision free.
7 """
8 if self._py39_plus:
9 for msg in self._deprecated_typing_alias_msgs:
10 if (
11 self._found_broken_callable_location
12 and msg.qname == "typing.Callable"
13 ):
14 continue
15 self.add_message(
16 "deprecated-typing-alias",
17 node=msg.node,
18 args=(msg.qname, msg.alias),
19 confidence=INFERENCE,
20 )
21
22 elif self._py37_plus:
23 msg_future_import = self._msg_postponed_eval_hint(node)
24 for msg in self._consider_using_alias_msgs:
25 if msg.qname in self._alias_name_collisions:
26 continue
27 self.add_message(
28 "consider-using-alias",
29 node=msg.node,
30 args=(
31 msg.qname,
32 msg.alias,
33 msg_future_import if msg.parent_subscript else "",
34 ),
35 confidence=INFERENCE,
36 )
37
38 # Clear all module cache variables
39 self._found_broken_callable_location = False
40 self._deprecated_typing_alias_msgs.clear()
41 self._alias_name_collisions.clear()
42 self._consider_using_alias_msgs.clear()
Path 5: 1 calls (0.03)
Module (1)
1@only_required_for_messages("consider-using-alias", "deprecated-typing-alias")
2 def leave_module(self, node: nodes.Module) -> None:
3 """After parsing of module is complete, add messages for
4 'consider-using-alias' check.
5
6 Make sure results are safe to recommend / collision free.
7 """
8 if self._py39_plus:
9 for msg in self._deprecated_typing_alias_msgs:
10 if (
11 self._found_broken_callable_location
12 and msg.qname == "typing.Callable"
13 ):
14 continue
15 self.add_message(
16 "deprecated-typing-alias",
17 node=msg.node,
18 args=(msg.qname, msg.alias),
19 confidence=INFERENCE,
20 )
21
22 elif self._py37_plus:
23 msg_future_import = self._msg_postponed_eval_hint(node)
24 for msg in self._consider_using_alias_msgs:
25 if msg.qname in self._alias_name_collisions:
26 continue
27 self.add_message(
28 "consider-using-alias",
29 node=msg.node,
30 args=(
31 msg.qname,
32 msg.alias,
33 msg_future_import if msg.parent_subscript else "",
34 ),
35 confidence=INFERENCE,
36 )
37
38 # Clear all module cache variables
39 self._found_broken_callable_location = False
40 self._deprecated_typing_alias_msgs.clear()
41 self._alias_name_collisions.clear()
42 self._consider_using_alias_msgs.clear()