Method: pylint.checkers.exceptions._annotated_unpack_infer
Calls: 620, Exceptions: 5, Paths: 4Back
Path 1: 570 calls (0.92)
Name (566) BinOp (2) Call (1) Attribute (1)
None (570)
tuple (573)
1def _annotated_unpack_infer(
2 stmt: nodes.NodeNG, context: InferenceContext | None = None
3) -> Generator[tuple[nodes.NodeNG, SuccessfulInferenceResult], None, None]:
4 """Recursively generate nodes inferred by the given statement.
5
6 If the inferred value is a list or a tuple, recurse on the elements.
7 Returns an iterator which yields tuples in the format
8 ('original node', 'inferred node').
9 """
10 if isinstance(stmt, (nodes.List, nodes.Tuple)):
11 for elt in stmt.elts:
12 inferred = utils.safe_infer(elt)
13 if inferred and inferred is not astroid.Uninferable:
14 yield elt, inferred
15 return
16 for inferred in stmt.infer(context):
17 if inferred is astroid.Uninferable:
18 continue
19 yield stmt, inferred
Path 2: 40 calls (0.06)
Tuple (40)
None (40)
tuple (84)
None (40)
1def _annotated_unpack_infer(
2 stmt: nodes.NodeNG, context: InferenceContext | None = None
3) -> Generator[tuple[nodes.NodeNG, SuccessfulInferenceResult], None, None]:
4 """Recursively generate nodes inferred by the given statement.
5
6 If the inferred value is a list or a tuple, recurse on the elements.
7 Returns an iterator which yields tuples in the format
8 ('original node', 'inferred node').
9 """
10 if isinstance(stmt, (nodes.List, nodes.Tuple)):
11 for elt in stmt.elts:
12 inferred = utils.safe_infer(elt)
13 if inferred and inferred is not astroid.Uninferable:
14 yield elt, inferred
15 return
16 for inferred in stmt.infer(context):
17 if inferred is astroid.Uninferable:
18 continue
19 yield stmt, inferred
Path 3: 5 calls (0.01)
Name (3) BinOp (1) Compare (1)
None (5)
1def _annotated_unpack_infer(
2 stmt: nodes.NodeNG, context: InferenceContext | None = None
3) -> Generator[tuple[nodes.NodeNG, SuccessfulInferenceResult], None, None]:
4 """Recursively generate nodes inferred by the given statement.
5
6 If the inferred value is a list or a tuple, recurse on the elements.
7 Returns an iterator which yields tuples in the format
8 ('original node', 'inferred node').
9 """
10 if isinstance(stmt, (nodes.List, nodes.Tuple)):
11 for elt in stmt.elts:
12 inferred = utils.safe_infer(elt)
13 if inferred and inferred is not astroid.Uninferable:
14 yield elt, inferred
15 return
16 for inferred in stmt.infer(context):
17 if inferred is astroid.Uninferable:
18 continue
19 yield stmt, inferred
Path 4: 5 calls (0.01)
Name (4) Attribute (1)
None (5)
NameInferenceError (4) InferenceError (1)
1def _annotated_unpack_infer(
2 stmt: nodes.NodeNG, context: InferenceContext | None = None
3) -> Generator[tuple[nodes.NodeNG, SuccessfulInferenceResult], None, None]:
4 """Recursively generate nodes inferred by the given statement.
5
6 If the inferred value is a list or a tuple, recurse on the elements.
7 Returns an iterator which yields tuples in the format
8 ('original node', 'inferred node').
9 """
10 if isinstance(stmt, (nodes.List, nodes.Tuple)):
11 for elt in stmt.elts:
12 inferred = utils.safe_infer(elt)
13 if inferred and inferred is not astroid.Uninferable:
14 yield elt, inferred
15 return
16 for inferred in stmt.infer(context):
17 if inferred is astroid.Uninferable:
18 continue
19 yield stmt, inferred