Path 1: 6 calls (0.5)

'data.clientmodule_test' (2) 'data.clientmodule_test.Specialization' (2) 'data.clientmodule_test.Ancestor' (2)

'data.suppliermodule_test' (2) 'data.clientmodule_test.Ancestor' (2) 'data.suppliermodule_test.Interface' (2)

EdgeType (6)

None (6)

1def emit_edge(
2        self,
3        from_node: str,
4        to_node: str,
5        type_: EdgeType,
6        label: str | None = None,
7    ) -> None:
8        """Create an edge from one node to another to display relationships."""
9        self.emit(
10            f'edge: {{sourcename:"{from_node}" targetname:"{to_node}"',
11            force_newline=False,
12        )
13        attributes = ARROWS[type_]
14        if label:
15            attributes["label"] = label
16        self._write_attributes(
17            EDGE_ATTRS,
18            **attributes,
19        )
20        self.emit("}")
            

Path 2: 6 calls (0.5)

'data.suppliermodule_test.DoNothing' (4) 'data.suppliermodule_test.DoNothing2' (2)

'data.clientmodule_test.Specialization' (4) 'data.clientmodule_test.Ancestor' (2)

EdgeType (6)

'cls_member' (2) 'relation' (2) 'relation2' (2)

1def emit_edge(
2        self,
3        from_node: str,
4        to_node: str,
5        type_: EdgeType,
6        label: str | None = None,
7    ) -> None:
8        """Create an edge from one node to another to display relationships."""
9        self.emit(
10            f'edge: {{sourcename:"{from_node}" targetname:"{to_node}"',
11            force_newline=False,
12        )
13        attributes = ARROWS[type_]
14        if label:
15            attributes["label"] = label
16        self._write_attributes(
17            EDGE_ATTRS,
18            **attributes,
19        )
20        self.emit("}")