Method: pylint.checkers.base.name_checker.checker.NameChecker._check_name
Calls: 13766, Exceptions: 0, Paths: 9Back
Path 1: 11596 calls (0.84)
'argument' (2889) 'function' (1719) 'variable' (1599) 'class' (1519) 'method' (1309) 'module' (1081) 'attr' (427) 'class_attribute' (420) 'const' (319...
'self' (1384) '__init__' (253) 'value' (147) 'arg' (128) 'cls' (125) 'var' (123) 'func' (112) 'test' (112) 'x' (93) 'my_func' (87)
AssignName (5604) FunctionDef (3062) ClassDef (1432) Module (1081) AssignAttr (274) Unknown (69) AsyncFunctionDef (50) Global (24)
Confidence (11596)
False (11212) True (384)
1def _check_name(
2 self,
3 node_type: str,
4 name: str,
5 node: nodes.NodeNG,
6 confidence: interfaces.Confidence = interfaces.HIGH,
7 disallowed_check_only: bool = False,
8 ) -> None:
9 """Check for a name using the type's regexp."""
10
11 def _should_exempt_from_invalid_name(node: nodes.NodeNG) -> bool:
12 if node_type == "variable":
13 inferred = utils.safe_infer(node)
14 if isinstance(inferred, nodes.ClassDef):
15 return True
16 return False
17
18 if self._name_allowed_by_regex(name=name):
19 return
20 if self._name_disallowed_by_regex(name=name):
21 self.linter.stats.increase_bad_name(node_type, 1)
22 self.add_message(
23 "disallowed-name", node=node, args=name, confidence=interfaces.HIGH
24 )
25 return
26 regexp = self._name_regexps[node_type]
27 match = regexp.match(name)
28
29 if _is_multi_naming_match(match, node_type, confidence):
30 name_group = self._find_name_group(node_type)
31 bad_name_group = self._bad_names.setdefault(name_group, {})
32 # Ignored because this is checked by the if statement
33 warnings = bad_name_group.setdefault(match.lastgroup, []) # type: ignore[union-attr, arg-type]
34 warnings.append((node, node_type, name, confidence))
35
36 if (
37 match is None
38 and not disallowed_check_only
39 and not _should_exempt_from_invalid_name(node)
40 ):
41 self._raise_name_warning(None, node, node_type, name, confidence)
42
43 # Check TypeVar names for variance suffixes
44 if node_type == "typevar":
45 self._check_typevar(name, node)
Path 2: 1099 calls (0.08)
'variable' (308) 'const' (273) 'argument' (271) 'class' (95) 'function' (42) 'attr' (32) 'method' (29) 'module' (25) 'class_const' (23) 'class_attribu...
'x' (160) 'a' (115) 'y' (83) 'b' (82) 'c' (57) 'z' (53) 'result' (31) 'A' (30) 'value' (25) 'd' (23)
AssignName (876) ClassDef (86) FunctionDef (76) Module (25) AssignAttr (24) Global (9) Unknown (3)
Confidence (1099)
False (1099)
1def _check_name(
2 self,
3 node_type: str,
4 name: str,
5 node: nodes.NodeNG,
6 confidence: interfaces.Confidence = interfaces.HIGH,
7 disallowed_check_only: bool = False,
8 ) -> None:
9 """Check for a name using the type's regexp."""
10
11 def _should_exempt_from_invalid_name(node: nodes.NodeNG) -> bool:
12 if node_type == "variable":
13 inferred = utils.safe_infer(node)
14 if isinstance(inferred, nodes.ClassDef):
15 return True
16 return False
17
18 if self._name_allowed_by_regex(name=name):
19 return
20 if self._name_disallowed_by_regex(name=name):
21 self.linter.stats.increase_bad_name(node_type, 1)
22 self.add_message(
23 "disallowed-name", node=node, args=name, confidence=interfaces.HIGH
24 )
25 return
26 regexp = self._name_regexps[node_type]
27 match = regexp.match(name)
28
29 if _is_multi_naming_match(match, node_type, confidence):
30 name_group = self._find_name_group(node_type)
31 bad_name_group = self._bad_names.setdefault(name_group, {})
32 # Ignored because this is checked by the if statement
33 warnings = bad_name_group.setdefault(match.lastgroup, []) # type: ignore[union-attr, arg-type]
34 warnings.append((node, node_type, name, confidence))
35
36 if (
37 match is None
38 and not disallowed_check_only
39 and not _should_exempt_from_invalid_name(node)
40 ):
41 self._raise_name_warning(None, node, node_type, name, confidence)
42
43 # Check TypeVar names for variance suffixes
44 if node_type == "typevar":
45 self._check_typevar(name, node)
Path 3: 476 calls (0.03)
'variable' (476)
'x' (55) 'a' (43) 'b' (31) 'FIRST' (16) 'd' (14) 'c' (10) 'z' (7) 'y' (7) 'SECOND' (7) 'CustomTypedDict1' (6)
AssignName (476)
Confidence (476)
True (476)
1def _check_name(
2 self,
3 node_type: str,
4 name: str,
5 node: nodes.NodeNG,
6 confidence: interfaces.Confidence = interfaces.HIGH,
7 disallowed_check_only: bool = False,
8 ) -> None:
9 """Check for a name using the type's regexp."""
10
11 def _should_exempt_from_invalid_name(node: nodes.NodeNG) -> bool:
12 if node_type == "variable":
13 inferred = utils.safe_infer(node)
14 if isinstance(inferred, nodes.ClassDef):
15 return True
16 return False
17
18 if self._name_allowed_by_regex(name=name):
19 return
20 if self._name_disallowed_by_regex(name=name):
21 self.linter.stats.increase_bad_name(node_type, 1)
22 self.add_message(
23 "disallowed-name", node=node, args=name, confidence=interfaces.HIGH
24 )
25 return
26 regexp = self._name_regexps[node_type]
27 match = regexp.match(name)
28
29 if _is_multi_naming_match(match, node_type, confidence):
30 name_group = self._find_name_group(node_type)
31 bad_name_group = self._bad_names.setdefault(name_group, {})
32 # Ignored because this is checked by the if statement
33 warnings = bad_name_group.setdefault(match.lastgroup, []) # type: ignore[union-attr, arg-type]
34 warnings.append((node, node_type, name, confidence))
35
36 if (
37 match is None
38 and not disallowed_check_only
39 and not _should_exempt_from_invalid_name(node)
40 ):
41 self._raise_name_warning(None, node, node_type, name, confidence)
42
43 # Check TypeVar names for variance suffixes
44 if node_type == "typevar":
45 self._check_typevar(name, node)
Path 4: 397 calls (0.03)
'variable' (262) 'inlinevar' (67) 'argument' (37) 'const' (10) 'method' (9) 'function' (8) 'class_attribute' (2) 'attr' (2)
'_' (159) 'i' (144) 'k' (71) 'j' (17) 'ex' (5) 'ignored_SOME_CONSTANT' (1)
AssignName (378) FunctionDef (19)
Confidence (397)
False (350) True (47)
None (397)
1def _check_name(
2 self,
3 node_type: str,
4 name: str,
5 node: nodes.NodeNG,
6 confidence: interfaces.Confidence = interfaces.HIGH,
7 disallowed_check_only: bool = False,
8 ) -> None:
9 """Check for a name using the type's regexp."""
10
11 def _should_exempt_from_invalid_name(node: nodes.NodeNG) -> bool:
12 if node_type == "variable":
13 inferred = utils.safe_infer(node)
14 if isinstance(inferred, nodes.ClassDef):
15 return True
16 return False
17
18 if self._name_allowed_by_regex(name=name):
19 return
20 if self._name_disallowed_by_regex(name=name):
21 self.linter.stats.increase_bad_name(node_type, 1)
22 self.add_message(
23 "disallowed-name", node=node, args=name, confidence=interfaces.HIGH
24 )
25 return
26 regexp = self._name_regexps[node_type]
27 match = regexp.match(name)
28
29 if _is_multi_naming_match(match, node_type, confidence):
30 name_group = self._find_name_group(node_type)
31 bad_name_group = self._bad_names.setdefault(name_group, {})
32 # Ignored because this is checked by the if statement
33 warnings = bad_name_group.setdefault(match.lastgroup, []) # type: ignore[union-attr, arg-type]
34 warnings.append((node, node_type, name, confidence))
35
36 if (
37 match is None
38 and not disallowed_check_only
39 and not _should_exempt_from_invalid_name(node)
40 ):
41 self._raise_name_warning(None, node, node_type, name, confidence)
42
43 # Check TypeVar names for variance suffixes
44 if node_type == "typevar":
45 self._check_typevar(name, node)
Path 5: 103 calls (0.01)
'typevar' (103)
'T' (12) 'T_co' (9) 'VT_contra' (9) 'T_contra' (8) 'VT' (7) 'VT_co' (7) 'X_co' (5) 'X_contra' (5) 'X' (4) 'TypeT' (2)
AssignName (103)
Confidence (103)
False (103)
1def _check_name(
2 self,
3 node_type: str,
4 name: str,
5 node: nodes.NodeNG,
6 confidence: interfaces.Confidence = interfaces.HIGH,
7 disallowed_check_only: bool = False,
8 ) -> None:
9 """Check for a name using the type's regexp."""
10
11 def _should_exempt_from_invalid_name(node: nodes.NodeNG) -> bool:
12 if node_type == "variable":
13 inferred = utils.safe_infer(node)
14 if isinstance(inferred, nodes.ClassDef):
15 return True
16 return False
17
18 if self._name_allowed_by_regex(name=name):
19 return
20 if self._name_disallowed_by_regex(name=name):
21 self.linter.stats.increase_bad_name(node_type, 1)
22 self.add_message(
23 "disallowed-name", node=node, args=name, confidence=interfaces.HIGH
24 )
25 return
26 regexp = self._name_regexps[node_type]
27 match = regexp.match(name)
28
29 if _is_multi_naming_match(match, node_type, confidence):
30 name_group = self._find_name_group(node_type)
31 bad_name_group = self._bad_names.setdefault(name_group, {})
32 # Ignored because this is checked by the if statement
33 warnings = bad_name_group.setdefault(match.lastgroup, []) # type: ignore[union-attr, arg-type]
34 warnings.append((node, node_type, name, confidence))
35
36 if (
37 match is None
38 and not disallowed_check_only
39 and not _should_exempt_from_invalid_name(node)
40 ):
41 self._raise_name_warning(None, node, node_type, name, confidence)
42
43 # Check TypeVar names for variance suffixes
44 if node_type == "typevar":
45 self._check_typevar(name, node)
Path 6: 62 calls (0.0)
'function' (20) 'attr' (15) 'method' (7) 'variable' (6) 'argument' (5) 'const' (4) 'class' (2) 'module' (2) 'class_attribute' (1)
'foo' (40) 'bar' (16) 'baz' (3) 'explicit_bad_some_constant' (1) 'disallowed_2_snake_case' (1) 'toto' (1)
FunctionDef (40) AssignName (15) ClassDef (2) Module (2) AsyncFunctionDef (1) Global (1) AssignAttr (1)
Confidence (62)
False (58) True (4)
None (62)
1def _check_name(
2 self,
3 node_type: str,
4 name: str,
5 node: nodes.NodeNG,
6 confidence: interfaces.Confidence = interfaces.HIGH,
7 disallowed_check_only: bool = False,
8 ) -> None:
9 """Check for a name using the type's regexp."""
10
11 def _should_exempt_from_invalid_name(node: nodes.NodeNG) -> bool:
12 if node_type == "variable":
13 inferred = utils.safe_infer(node)
14 if isinstance(inferred, nodes.ClassDef):
15 return True
16 return False
17
18 if self._name_allowed_by_regex(name=name):
19 return
20 if self._name_disallowed_by_regex(name=name):
21 self.linter.stats.increase_bad_name(node_type, 1)
22 self.add_message(
23 "disallowed-name", node=node, args=name, confidence=interfaces.HIGH
24 )
25 return
26 regexp = self._name_regexps[node_type]
27 match = regexp.match(name)
28
29 if _is_multi_naming_match(match, node_type, confidence):
30 name_group = self._find_name_group(node_type)
31 bad_name_group = self._bad_names.setdefault(name_group, {})
32 # Ignored because this is checked by the if statement
33 warnings = bad_name_group.setdefault(match.lastgroup, []) # type: ignore[union-attr, arg-type]
34 warnings.append((node, node_type, name, confidence))
35
36 if (
37 match is None
38 and not disallowed_check_only
39 and not _should_exempt_from_invalid_name(node)
40 ):
41 self._raise_name_warning(None, node, node_type, name, confidence)
42
43 # Check TypeVar names for variance suffixes
44 if node_type == "typevar":
45 self._check_typevar(name, node)
Path 7: 18 calls (0.0)
'typevar' (18)
'badName' (2) 'GoodNameT' (2) 'GoodNameT_co' (2) 'TYPE' (1) 'T2' (1) 'CALLABLE_T' (1) 'DeviceType' (1) 'IPAddressU' (1) 'TAnyStr' (1) 'badName_co' (1)...
AssignName (18)
Confidence (18)
False (18)
1def _check_name(
2 self,
3 node_type: str,
4 name: str,
5 node: nodes.NodeNG,
6 confidence: interfaces.Confidence = interfaces.HIGH,
7 disallowed_check_only: bool = False,
8 ) -> None:
9 """Check for a name using the type's regexp."""
10
11 def _should_exempt_from_invalid_name(node: nodes.NodeNG) -> bool:
12 if node_type == "variable":
13 inferred = utils.safe_infer(node)
14 if isinstance(inferred, nodes.ClassDef):
15 return True
16 return False
17
18 if self._name_allowed_by_regex(name=name):
19 return
20 if self._name_disallowed_by_regex(name=name):
21 self.linter.stats.increase_bad_name(node_type, 1)
22 self.add_message(
23 "disallowed-name", node=node, args=name, confidence=interfaces.HIGH
24 )
25 return
26 regexp = self._name_regexps[node_type]
27 match = regexp.match(name)
28
29 if _is_multi_naming_match(match, node_type, confidence):
30 name_group = self._find_name_group(node_type)
31 bad_name_group = self._bad_names.setdefault(name_group, {})
32 # Ignored because this is checked by the if statement
33 warnings = bad_name_group.setdefault(match.lastgroup, []) # type: ignore[union-attr, arg-type]
34 warnings.append((node, node_type, name, confidence))
35
36 if (
37 match is None
38 and not disallowed_check_only
39 and not _should_exempt_from_invalid_name(node)
40 ):
41 self._raise_name_warning(None, node, node_type, name, confidence)
42
43 # Check TypeVar names for variance suffixes
44 if node_type == "typevar":
45 self._check_typevar(name, node)
Path 8: 12 calls (0.0)
'function' (6) 'class' (5) 'method' (1)
'UPPER' (2) 'lower' (2) 'classb' (2) 'CLASSC' (2) 'anotherlower' (1) 'CLASSA' (1) 'func' (1) 'FUNC' (1)
FunctionDef (7) ClassDef (5)
Confidence (12)
False (12)
1def _check_name(
2 self,
3 node_type: str,
4 name: str,
5 node: nodes.NodeNG,
6 confidence: interfaces.Confidence = interfaces.HIGH,
7 disallowed_check_only: bool = False,
8 ) -> None:
9 """Check for a name using the type's regexp."""
10
11 def _should_exempt_from_invalid_name(node: nodes.NodeNG) -> bool:
12 if node_type == "variable":
13 inferred = utils.safe_infer(node)
14 if isinstance(inferred, nodes.ClassDef):
15 return True
16 return False
17
18 if self._name_allowed_by_regex(name=name):
19 return
20 if self._name_disallowed_by_regex(name=name):
21 self.linter.stats.increase_bad_name(node_type, 1)
22 self.add_message(
23 "disallowed-name", node=node, args=name, confidence=interfaces.HIGH
24 )
25 return
26 regexp = self._name_regexps[node_type]
27 match = regexp.match(name)
28
29 if _is_multi_naming_match(match, node_type, confidence):
30 name_group = self._find_name_group(node_type)
31 bad_name_group = self._bad_names.setdefault(name_group, {})
32 # Ignored because this is checked by the if statement
33 warnings = bad_name_group.setdefault(match.lastgroup, []) # type: ignore[union-attr, arg-type]
34 warnings.append((node, node_type, name, confidence))
35
36 if (
37 match is None
38 and not disallowed_check_only
39 and not _should_exempt_from_invalid_name(node)
40 ):
41 self._raise_name_warning(None, node, node_type, name, confidence)
42
43 # Check TypeVar names for variance suffixes
44 if node_type == "typevar":
45 self._check_typevar(name, node)
Path 9: 3 calls (0.0)
'variable' (3)
'TestCase' (1) 'AliasInvalid2' (1) 'Example' (1)
AssignName (3)
Confidence (3)
False (3)
1def _check_name(
2 self,
3 node_type: str,
4 name: str,
5 node: nodes.NodeNG,
6 confidence: interfaces.Confidence = interfaces.HIGH,
7 disallowed_check_only: bool = False,
8 ) -> None:
9 """Check for a name using the type's regexp."""
10
11 def _should_exempt_from_invalid_name(node: nodes.NodeNG) -> bool:
12 if node_type == "variable":
13 inferred = utils.safe_infer(node)
14 if isinstance(inferred, nodes.ClassDef):
15 return True
16 return False
17
18 if self._name_allowed_by_regex(name=name):
19 return
20 if self._name_disallowed_by_regex(name=name):
21 self.linter.stats.increase_bad_name(node_type, 1)
22 self.add_message(
23 "disallowed-name", node=node, args=name, confidence=interfaces.HIGH
24 )
25 return
26 regexp = self._name_regexps[node_type]
27 match = regexp.match(name)
28
29 if _is_multi_naming_match(match, node_type, confidence):
30 name_group = self._find_name_group(node_type)
31 bad_name_group = self._bad_names.setdefault(name_group, {})
32 # Ignored because this is checked by the if statement
33 warnings = bad_name_group.setdefault(match.lastgroup, []) # type: ignore[union-attr, arg-type]
34 warnings.append((node, node_type, name, confidence))
35
36 if (
37 match is None
38 and not disallowed_check_only
39 and not _should_exempt_from_invalid_name(node)
40 ):
41 self._raise_name_warning(None, node, node_type, name, confidence)
42
43 # Check TypeVar names for variance suffixes
44 if node_type == "typevar":
45 self._check_typevar(name, node)