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