From 3bb117e4fee72c4d4019c575bf0cb21043584954 Mon Sep 17 00:00:00 2001
From: Ferenc Szontágh <szf@fsociety.hu>
Date: Fri, 18 Apr 2025 19:46:22 +0000
Subject: [PATCH] fix if statement

---
 src/Parser/Parser.cpp |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/Parser/Parser.cpp b/src/Parser/Parser.cpp
index a2fd154..b2bebf5 100644
--- a/src/Parser/Parser.cpp
+++ b/src/Parser/Parser.cpp
@@ -83,7 +83,9 @@
     // 'if'
     auto ifToken = expect(Lexer::Tokens::Type::KEYWORD, "if");
     expect(Lexer::Tokens::Type::PUNCTUATION, "(");
-    auto condExpr = parseParsedExpression(Symbols::Variables::Type::BOOLEAN);
+    // Parse the condition expression without restricting literal types,
+    // dynamic evaluation will enforce boolean type at runtime
+    auto condExpr = parseParsedExpression(Symbols::Variables::Type::NULL_TYPE);
     expect(Lexer::Tokens::Type::PUNCTUATION, ")");
     expect(Lexer::Tokens::Type::PUNCTUATION, "{");
     // then branch

--
Gitblit v1.9.3