nodes: add several asserts to make debugging some weird internal issues easier

This commit is contained in:
Antoine Viallon 2024-01-11 00:04:39 +01:00
parent d2d519acf4
commit ddd3b13d28
Signed by: aviallon
GPG key ID: 186FC35EDEB25716

View file

@ -25,6 +25,7 @@ class Node:
@functools.cache
def location(self) -> SourceLocation:
assert len(self._values()) > 0
locations = [v.location() for v in self._values()]
begin = min([loc.begin for loc in locations])
end = max([loc.end for loc in locations])
@ -271,6 +272,7 @@ class Statement(Node):
self.pseudo_nodes = pseudo_nodes
def _values(self) -> list[Node | Any]:
assert len(self.nodes) + len(self.pseudo_nodes) > 0
return self.nodes + self.pseudo_nodes
def intermediate_representation(self) -> list[ir.IRItem]: