From dcaaa4dea3e9a41d2aaac1f6f1b802971dd47a7c Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Tue, 22 Feb 2022 21:27:37 +0100
Subject: [PATCH] SCRIPT: Now correctly setting the IrRoot in all its contained
 elements

---
 src/Lib/Script/Ast/IrElement.cc | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/Lib/Script/Ast/IrElement.cc b/src/Lib/Script/Ast/IrElement.cc
index e71ba4cd..2a469548 100644
--- a/src/Lib/Script/Ast/IrElement.cc
+++ b/src/Lib/Script/Ast/IrElement.cc
@@ -1,10 +1,17 @@
 #include <vector>
 #include "IrElement.hh"
+#include "IrRoot.hh"
 #include "IrAttribute.hh"
 
 namespace Vivy::Script
 {
-IrElement::IrElement(IrElement *p) noexcept { setParent(p); }
+IrElement::IrElement(IrElement *p) noexcept
+{
+    setParent(p);
+    parentRoot = parent()->irRoot();
+    if (parentRoot == nullptr)
+        parentRoot = dynamic_cast<IrRoot *>(this);
+}
 
 void
 IrElement::throwUnexpectedToken(const Token &tok) const
-- 
GitLab