nodes: allow adding pseudo nodes to Expression

This commit is contained in:
Antoine Viallon 2023-05-24 00:44:16 +02:00
parent 1fa3317d93
commit 3f84890b52
Signed by: aviallon
GPG key ID: D126B13AB555E16F

View file

@ -246,19 +246,20 @@ class Expression(Node):
def intermediate_representation(self) -> list[ir.IRItem]:
return self.node.intermediate_representation()
def __init__(self, node: Node):
def __init__(self, node: Node, *, pseudo_nodes: list[PseudoNode] = None):
super().__init__()
self.node = node
self.pseudo_nodes = pseudo_nodes
def _values(self) -> list[Node | Any]:
return [self.node]
result = [self.node]
if self.pseudo_nodes is not None:
result += self.pseudo_nodes
return result
def semantic_analysis(self, context: semantic.Context):
return self.node.semantic_analysis(context)
def location(self) -> SourceLocation:
return self.node.location()
class Statement(Node):