From e2e9e07a9f50dc1f7a967280a3d1d8ef7fcaa153 Mon Sep 17 00:00:00 2001
From: Ferenc Szontágh <szf@fsociety.hu>
Date: Fri, 18 Apr 2025 09:12:33 +0000
Subject: [PATCH] add built-in modules

---
 src/Interpreter/CallStatementNode.hpp |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/src/Interpreter/CallStatementNode.hpp b/src/Interpreter/CallStatementNode.hpp
index ccd85a1..224ac16 100644
--- a/src/Interpreter/CallStatementNode.hpp
+++ b/src/Interpreter/CallStatementNode.hpp
@@ -13,6 +13,7 @@
 #include "Symbols/SymbolContainer.hpp"
 #include "Symbols/SymbolFactory.hpp"
 #include "Symbols/Value.hpp"
+#include "Modules/ModuleManager.hpp"
 
 namespace Interpreter {
 
@@ -39,6 +40,14 @@
             argValues.push_back(expr->evaluate(interpreter));
         }
 
+        // Handle built-in function callbacks
+        {
+            auto &mgr = Modules::ModuleManager::instance();
+            if (mgr.hasFunction(functionName_)) {
+                mgr.callFunction(functionName_, argValues);
+                return;
+            }
+        }
         // Lookup function symbol in functions namespace
         SymbolContainer * sc        = SymbolContainer::instance();
         const std::string currentNs = sc->currentScopeName();

--
Gitblit v1.9.3