Path 1: 69 calls (0.31)

list (69)

['Optional[int]'] (35) ['str'] (20) ['Union[int, str]'] (3) ['str | int'] (3) ['Optional[Dummy]'] (3) ['list[Dummy]'] (3) ['dict[str, MessageDefinitio...

1def class_names(self, nodes_lst: Iterable[nodes.NodeNG]) -> list[str]:
2        """Return class names if needed in diagram."""
3        names = []
4        for node in nodes_lst:
5            if isinstance(node, astroid.Instance):
6                node = node._proxied
7            if (
8                isinstance(
9                    node, (nodes.ClassDef, nodes.Name, nodes.Subscript, nodes.BinOp)
10                )
11                and hasattr(node, "name")
12                and not self.has_node(node)
13            ):
14                if node.name not in names:
15                    node_name = node.name
16                    names.append(node_name)
17        return names
            

Path 2: 61 calls (0.27)

list (61)

['str'] (55) ['dict'] (2) ['int'] (2) ['tuple'] (1) ['Monkey'] (1)

1def class_names(self, nodes_lst: Iterable[nodes.NodeNG]) -> list[str]:
2        """Return class names if needed in diagram."""
3        names = []
4        for node in nodes_lst:
5            if isinstance(node, astroid.Instance):
6                node = node._proxied
7            if (
8                isinstance(
9                    node, (nodes.ClassDef, nodes.Name, nodes.Subscript, nodes.BinOp)
10                )
11                and hasattr(node, "name")
12                and not self.has_node(node)
13            ):
14                if node.name not in names:
15                    node_name = node.name
16                    names.append(node_name)
17        return names
            

Path 3: 40 calls (0.18)

list (21) FunctionDef (19)

[] (40)

1def class_names(self, nodes_lst: Iterable[nodes.NodeNG]) -> list[str]:
2        """Return class names if needed in diagram."""
3        names = []
4        for node in nodes_lst:
5            if isinstance(node, astroid.Instance):
6                node = node._proxied
7            if (
8                isinstance(
9                    node, (nodes.ClassDef, nodes.Name, nodes.Subscript, nodes.BinOp)
10                )
11                and hasattr(node, "name")
12                and not self.has_node(node)
13            ):
14                if node.name not in names:
15                    node_name = node.name
16                    names.append(node_name)
17        return names
            

Path 4: 38 calls (0.17)

list (38)

[] (38)

1def class_names(self, nodes_lst: Iterable[nodes.NodeNG]) -> list[str]:
2        """Return class names if needed in diagram."""
3        names = []
4        for node in nodes_lst:
5            if isinstance(node, astroid.Instance):
6                node = node._proxied
7            if (
8                isinstance(
9                    node, (nodes.ClassDef, nodes.Name, nodes.Subscript, nodes.BinOp)
10                )
11                and hasattr(node, "name")
12                and not self.has_node(node)
13            ):
14                if node.name not in names:
15                    node_name = node.name
16                    names.append(node_name)
17        return names
            

Path 5: 17 calls (0.08)

list (17)

[] (17)

1def class_names(self, nodes_lst: Iterable[nodes.NodeNG]) -> list[str]:
2        """Return class names if needed in diagram."""
3        names = []
4        for node in nodes_lst:
5            if isinstance(node, astroid.Instance):
6                node = node._proxied
7            if (
8                isinstance(
9                    node, (nodes.ClassDef, nodes.Name, nodes.Subscript, nodes.BinOp)
10                )
11                and hasattr(node, "name")
12                and not self.has_node(node)
13            ):
14                if node.name not in names:
15                    node_name = node.name
16                    names.append(node_name)
17        return names