Method: pylint.checkers.variables.VariablesChecker._check_potential_index_error
Calls: 1199, Exceptions: 0, Paths: 4Back
Path 1: 866 calls (0.72)
Subscript (866)
ClassDef (415) Tuple (250) Uninferable (142) Slice (37) Instance (10) UnionType (4) FunctionDef (4) None (2) List (1) Dict (1)
None (866)
1def _check_potential_index_error(
2 self, node: nodes.Subscript, inferred_slice: nodes.NodeNG | None
3 ) -> None:
4 """Check for the potential-index-error message."""
5 # Currently we only check simple slices of a single integer
6 if not isinstance(inferred_slice, nodes.Const) or not isinstance(
7 inferred_slice.value, int
8 ):
9 return
10
11 # If the node.value is a Tuple or List without inference it is defined in place
12 if isinstance(node.value, (nodes.Tuple, nodes.List)):
13 # Add 1 because iterables are 0-indexed
14 if len(node.value.elts) < inferred_slice.value + 1:
15 self.add_message(
16 "potential-index-error", node=node, confidence=INFERENCE
17 )
18 return
Path 2: 197 calls (0.16)
Subscript (197)
Const (197)
1def _check_potential_index_error(
2 self, node: nodes.Subscript, inferred_slice: nodes.NodeNG | None
3 ) -> None:
4 """Check for the potential-index-error message."""
5 # Currently we only check simple slices of a single integer
6 if not isinstance(inferred_slice, nodes.Const) or not isinstance(
7 inferred_slice.value, int
8 ):
9 return
10
11 # If the node.value is a Tuple or List without inference it is defined in place
12 if isinstance(node.value, (nodes.Tuple, nodes.List)):
13 # Add 1 because iterables are 0-indexed
14 if len(node.value.elts) < inferred_slice.value + 1:
15 self.add_message(
16 "potential-index-error", node=node, confidence=INFERENCE
17 )
18 return
Path 3: 133 calls (0.11)
Subscript (133)
Const (133)
None (133)
1def _check_potential_index_error(
2 self, node: nodes.Subscript, inferred_slice: nodes.NodeNG | None
3 ) -> None:
4 """Check for the potential-index-error message."""
5 # Currently we only check simple slices of a single integer
6 if not isinstance(inferred_slice, nodes.Const) or not isinstance(
7 inferred_slice.value, int
8 ):
9 return
10
11 # If the node.value is a Tuple or List without inference it is defined in place
12 if isinstance(node.value, (nodes.Tuple, nodes.List)):
13 # Add 1 because iterables are 0-indexed
14 if len(node.value.elts) < inferred_slice.value + 1:
15 self.add_message(
16 "potential-index-error", node=node, confidence=INFERENCE
17 )
18 return
Path 4: 3 calls (0.0)
Subscript (3)
Const (3)
None (3)
1def _check_potential_index_error(
2 self, node: nodes.Subscript, inferred_slice: nodes.NodeNG | None
3 ) -> None:
4 """Check for the potential-index-error message."""
5 # Currently we only check simple slices of a single integer
6 if not isinstance(inferred_slice, nodes.Const) or not isinstance(
7 inferred_slice.value, int
8 ):
9 return
10
11 # If the node.value is a Tuple or List without inference it is defined in place
12 if isinstance(node.value, (nodes.Tuple, nodes.List)):
13 # Add 1 because iterables are 0-indexed
14 if len(node.value.elts) < inferred_slice.value + 1:
15 self.add_message(
16 "potential-index-error", node=node, confidence=INFERENCE
17 )
18 return