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