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