Method: pylint.pyreverse.utils.infer_node
Calls: 397, Exceptions: 22, Paths: 6Back
Path 1: 335 calls (0.84)
AssignName (274) AssignAttr (60) AnnAssign (1)
set (334) {'x'} (1)
1def infer_node(node: nodes.AssignAttr | nodes.AssignName) -> set[InferenceResult]:
2 """Return a set containing the node annotation if it exists
3 otherwise return a set of the inferred types using the NodeNG.infer method.
4 """
5
6 ann = get_annotation(node)
7 try:
8 if ann:
9 if isinstance(ann, nodes.Subscript) or (
10 isinstance(ann, nodes.BinOp) and ann.op == "|"
11 ):
12 return {ann}
13 return set(ann.infer())
14 return set(node.infer())
15 except astroid.InferenceError:
16 return {ann} if ann else set()
Path 2: 23 calls (0.06)
AssignAttr (17) AssignName (6)
set (23)
1def infer_node(node: nodes.AssignAttr | nodes.AssignName) -> set[InferenceResult]:
2 """Return a set containing the node annotation if it exists
3 otherwise return a set of the inferred types using the NodeNG.infer method.
4 """
5
6 ann = get_annotation(node)
7 try:
8 if ann:
9 if isinstance(ann, nodes.Subscript) or (
10 isinstance(ann, nodes.BinOp) and ann.op == "|"
11 ):
12 return {ann}
13 return set(ann.infer())
14 return set(node.infer())
15 except astroid.InferenceError:
16 return {ann} if ann else set()
Path 3: 18 calls (0.05)
AssignName (17) AnnAssign (1)
set() (18)
InferenceError (18)
1def infer_node(node: nodes.AssignAttr | nodes.AssignName) -> set[InferenceResult]:
2 """Return a set containing the node annotation if it exists
3 otherwise return a set of the inferred types using the NodeNG.infer method.
4 """
5
6 ann = get_annotation(node)
7 try:
8 if ann:
9 if isinstance(ann, nodes.Subscript) or (
10 isinstance(ann, nodes.BinOp) and ann.op == "|"
11 ):
12 return {ann}
13 return set(ann.infer())
14 return set(node.infer())
15 except astroid.InferenceError:
16 return {ann} if ann else set()
Path 4: 13 calls (0.03)
AssignAttr (10) AssignName (3)
set (13)
1def infer_node(node: nodes.AssignAttr | nodes.AssignName) -> set[InferenceResult]:
2 """Return a set containing the node annotation if it exists
3 otherwise return a set of the inferred types using the NodeNG.infer method.
4 """
5
6 ann = get_annotation(node)
7 try:
8 if ann:
9 if isinstance(ann, nodes.Subscript) or (
10 isinstance(ann, nodes.BinOp) and ann.op == "|"
11 ):
12 return {ann}
13 return set(ann.infer())
14 return set(node.infer())
15 except astroid.InferenceError:
16 return {ann} if ann else set()
Path 5: 4 calls (0.01)
AssignAttr (4)
set (4)
NameInferenceError (4)
1def infer_node(node: nodes.AssignAttr | nodes.AssignName) -> set[InferenceResult]:
2 """Return a set containing the node annotation if it exists
3 otherwise return a set of the inferred types using the NodeNG.infer method.
4 """
5
6 ann = get_annotation(node)
7 try:
8 if ann:
9 if isinstance(ann, nodes.Subscript) or (
10 isinstance(ann, nodes.BinOp) and ann.op == "|"
11 ):
12 return {ann}
13 return set(ann.infer())
14 return set(node.infer())
15 except astroid.InferenceError:
16 return {ann} if ann else set()
Path 6: 4 calls (0.01)
AssignName (2) AssignAttr (2)
set (4)
1def infer_node(node: nodes.AssignAttr | nodes.AssignName) -> set[InferenceResult]:
2 """Return a set containing the node annotation if it exists
3 otherwise return a set of the inferred types using the NodeNG.infer method.
4 """
5
6 ann = get_annotation(node)
7 try:
8 if ann:
9 if isinstance(ann, nodes.Subscript) or (
10 isinstance(ann, nodes.BinOp) and ann.op == "|"
11 ):
12 return {ann}
13 return set(ann.infer())
14 return set(node.infer())
15 except astroid.InferenceError:
16 return {ann} if ann else set()