|
1 | 1 | from __future__ import annotations
|
2 | 2 |
|
3 |
| -from collections.abc import Mapping |
| 3 | +from collections.abc import Iterable, Mapping |
4 | 4 | from dataclasses import dataclass, field, replace
|
5 | 5 | from typing import (
|
| 6 | + TYPE_CHECKING, |
6 | 7 | Generic,
|
7 |
| - Iterable, |
8 | 8 | Protocol,
|
9 | 9 | TypeVar,
|
10 | 10 | cast,
|
11 | 11 | overload,
|
12 |
| - Type as PyType, |
13 | 12 | )
|
14 | 13 |
|
15 |
| - |
16 |
| -from hugr.ops import Op, DataflowOp, Const, Call |
17 |
| -from hugr.tys import Type, Kind, ValueKind |
18 |
| -from hugr.val import Value |
19 |
| -from hugr.node_port import Direction, InPort, OutPort, ToNode, Node, _SubPort |
| 14 | +from hugr.node_port import Direction, InPort, Node, OutPort, ToNode, _SubPort |
| 15 | +from hugr.ops import Call, Const, DataflowOp, Op |
20 | 16 | from hugr.serialization.ops import OpType as SerialOp
|
21 | 17 | from hugr.serialization.serial_hugr import SerialHugr
|
| 18 | +from hugr.tys import Kind, Type, ValueKind |
22 | 19 | from hugr.utils import BiMap
|
23 | 20 |
|
24 | 21 | from .exceptions import ParentBeforeChild
|
25 | 22 |
|
| 23 | +if TYPE_CHECKING: |
| 24 | + from hugr.val import Value |
| 25 | + |
26 | 26 |
|
27 | 27 | @dataclass()
|
28 | 28 | class NodeData:
|
@@ -88,7 +88,7 @@ def __iter__(self):
|
88 | 88 | def __len__(self) -> int:
|
89 | 89 | return self.num_nodes()
|
90 | 90 |
|
91 |
| - def _get_typed_op(self, node: ToNode, cl: PyType[OpVar2]) -> OpVar2: |
| 91 | + def _get_typed_op(self, node: ToNode, cl: type[OpVar2]) -> OpVar2: |
92 | 92 | op = self[node].op
|
93 | 93 | assert isinstance(op, cl)
|
94 | 94 | return op
|
@@ -241,11 +241,11 @@ def incoming_links(self, node: ToNode) -> Iterable[tuple[InPort, list[OutPort]]]
|
241 | 241 | return self._node_links(node, self._links.bck)
|
242 | 242 |
|
243 | 243 | def num_incoming(self, node: Node) -> int:
|
244 |
| - # connecetd links |
| 244 | + # connected links |
245 | 245 | return sum(1 for _ in self.incoming_links(node))
|
246 | 246 |
|
247 | 247 | def num_outgoing(self, node: ToNode) -> int:
|
248 |
| - # connecetd links |
| 248 | + # connected links |
249 | 249 | return sum(1 for _ in self.outgoing_links(node))
|
250 | 250 |
|
251 | 251 | # TODO: num_links and _linked_ports
|
@@ -274,7 +274,7 @@ def insert_hugr(self, hugr: Hugr, parent: ToNode | None = None) -> dict[Node, No
|
274 | 274 | mapping[node_data.parent] if node_data.parent else parent
|
275 | 275 | )
|
276 | 276 | except KeyError as e:
|
277 |
| - raise ParentBeforeChild() from e |
| 277 | + raise ParentBeforeChild from e |
278 | 278 | mapping[Node(idx)] = self.add_node(node_data.op, node_parent)
|
279 | 279 |
|
280 | 280 | for src, dst in hugr._links.items():
|
|
0 commit comments