Path 1: 8 calls (1.0)

'foo' (3) 'graph' (2) 'import' (1) 'ext_import' (1) 'int_import' (1)

'LR' (8)

None (8)

None (8)

'utf-8' (8)

'dot' (8)

None (8)

1def __init__(
2        self,
3        graphname: str,
4        rankdir: str | None = None,
5        size: Any = None,
6        ratio: Any = None,
7        charset: str = "utf-8",
8        renderer: str = "dot",
9        additional_param: dict[str, Any] | None = None,
10    ) -> None:
11        if additional_param is None:
12            additional_param = {}
13        self.graphname = graphname
14        self.renderer = renderer
15        self.lines: list[str] = []
16        self._source: str | None = None
17        self.emit(f"digraph {normalize_node_id(graphname)} {{")
18        if rankdir:
19            self.emit(f"rankdir={rankdir}")
20        if ratio:
21            self.emit(f"ratio={ratio}")
22        if size:
23            self.emit(f'size="{size}"')
24        if charset:
25            assert charset.lower() in {
26                "utf-8",
27                "iso-8859-1",
28                "latin1",
29            }, f"unsupported charset {charset}"
30            self.emit(f'charset="{charset}"')
31        for param in additional_param.items():
32            self.emit("=".join(param))