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()