From 7def336c06c38a9fd9104bb157cb2238bc89585d Mon Sep 17 00:00:00 2001
From: A404M <ahmadmahmoudiprogrammer@gmail.com>
Date: Sun, 11 May 2025 21:16:15 +0330
Subject: reverting some choices for better future

---
 src/compiler/ast-tree.c | 42 +++++++++++++++++++++---------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

(limited to 'src/compiler/ast-tree.c')

diff --git a/src/compiler/ast-tree.c b/src/compiler/ast-tree.c
index 14c8276..121f012 100644
--- a/src/compiler/ast-tree.c
+++ b/src/compiler/ast-tree.c
@@ -1475,7 +1475,7 @@ AstTreeRoot *getAstTreeRoot(char *filePath, AstTreeRoots *roots
           goto RETURN_ERROR;
         }
         AstTree *parameter = tree_metadata->parameters[0].value;
-        if (!isConst(parameter, true)) {
+        if (!isConst(parameter)) {
           printError(parameter->str_begin, parameter->str_end,
                      "Is not constant");
           goto RETURN_ERROR;
@@ -1550,7 +1550,7 @@ AstTreeRoot *getAstTreeRoot(char *filePath, AstTreeRoots *roots
           goto RETURN_ERROR;
         }
         AstTree *parameter = tree_metadata->parameters[0].value;
-        if (!isConst(parameter, true)) {
+        if (!isConst(parameter)) {
           printError(parameter->str_begin, parameter->str_end,
                      "Is not constant");
           goto RETURN_ERROR;
@@ -3120,7 +3120,7 @@ bool isFunction(AstTree *value) {
   return value->type->token == AST_TREE_TOKEN_TYPE_FUNCTION;
 }
 
-bool isConst(AstTree *tree, bool byValue) {
+bool isConst(AstTree *tree) {
   if (tree->type == NULL) {
     UNREACHABLE;
   }
@@ -3178,8 +3178,8 @@ bool isConst(AstTree *tree, bool byValue) {
     AstTreeStruct *metadata = tree->metadata;
     for (size_t i = 0; i < metadata->variables.size; ++i) {
       AstTreeVariable *member = metadata->variables.data[i];
-      if (!isConst(member->type, byValue) ||
-          (member->value != NULL && !isConst(member->type, byValue))) {
+      if (!isConst(member->type) ||
+          (member->value != NULL && !isConst(member->type))) {
         return false;
       }
     }
@@ -3187,18 +3187,18 @@ bool isConst(AstTree *tree, bool byValue) {
   }
   case AST_TREE_TOKEN_KEYWORD_IF: {
     AstTreeIf *metadata = tree->metadata;
-    return isConst(metadata->condition, byValue) &&
-           isConst(metadata->ifBody, byValue) &&
-           (metadata->elseBody == NULL || isConst(metadata->elseBody, byValue));
+    return isConst(metadata->condition) &&
+           isConst(metadata->ifBody) &&
+           (metadata->elseBody == NULL || isConst(metadata->elseBody));
   }
   case AST_TREE_TOKEN_FUNCTION_CALL: {
     AstTreeFunctionCall *metadata = tree->metadata;
     for (size_t i = 0; i < metadata->parameters_size; ++i) {
-      if (!isConst(metadata->parameters[i].value, byValue)) {
+      if (!isConst(metadata->parameters[i].value)) {
         return false;
       }
     }
-    return isConst(metadata->function, byValue);
+    return isConst(metadata->function);
   }
   case AST_TREE_TOKEN_FUNCTION: {
     return true;
@@ -3227,27 +3227,27 @@ bool isConst(AstTree *tree, bool byValue) {
     return false;
   case AST_TREE_TOKEN_VARIABLE: {
     AstTreeVariable *metadata = tree->metadata;
-    return metadata->isConst && (!byValue || metadata->value != NULL);
+    return metadata->isConst && metadata->value != NULL;
   }
   case AST_TREE_TOKEN_OPERATOR_DEREFERENCE:
   case AST_TREE_TOKEN_OPERATOR_ADDRESS:
   case AST_TREE_TOKEN_OPERATOR_POINTER: {
     AstTreeSingleChild *metadata = tree->metadata;
-    return isConst(metadata, byValue);
+    return isConst(metadata);
   }
   case AST_TREE_TOKEN_OPERATOR_ACCESS: {
     AstTreeAccess *metadata = tree->metadata;
-    return isConst(metadata->object, byValue);
+    return isConst(metadata->object);
   }
   case AST_TREE_TOKEN_TYPE_ARRAY:
   case AST_TREE_TOKEN_OPERATOR_ARRAY_ACCESS: {
     AstTreeBracket *metadata = tree->metadata;
     for (size_t i = 0; i < metadata->parameters.size; ++i) {
-      if (!isConst(metadata->parameters.data[i], byValue)) {
+      if (!isConst(metadata->parameters.data[i])) {
         return false;
       }
     }
-    return isConst(metadata->operand, byValue);
+    return isConst(metadata->operand);
   }
   case AST_TREE_TOKEN_NONE:
   }
@@ -3601,7 +3601,7 @@ bool typeIsEqualBack(const AstTree *type0, const AstTree *type1) {
 }
 
 AstTree *getValue(AstTree *tree) {
-  if (!isConst(tree, false)) {
+  if (!isConst(tree)) {
     printError(tree->str_begin, tree->str_end,
                "Can't get value at compile time because it is not const");
     return NULL;
@@ -4680,7 +4680,7 @@ bool setTypesOperatorAssign(AstTree *tree, AstTreeSetTypesHelper helper) {
   } else if (!typeIsEqual(infix->left->type, infix->right->type)) {
     printError(tree->str_begin, tree->str_end, "Type mismatch");
     return false;
-  } else if (isConst(infix->left, false)) {
+  } else if (isConst(infix->left)) {
     printError(tree->str_begin, tree->str_end, "Constants can't be assigned");
     return false;
   } else {
@@ -4890,7 +4890,7 @@ bool setTypesAstVariable(AstTreeVariable *variable,
       return false;
     }
 
-    if (!isConst(variable->type, true)) {
+    if (!isConst(variable->type)) {
       printError(variable->name_begin, variable->name_end,
                  "Type must be comptime");
       return false;
@@ -4928,7 +4928,7 @@ bool setTypesAstVariable(AstTreeVariable *variable,
                  AST_TREE_TOKEN_STRINGS[value->type->token],
                  AST_TREE_TOKEN_STRINGS[variable->type->token]);
       return false;
-    } else if (variable->isConst && !isConst(value, false)) {
+    } else if (variable->isConst && !isConst(value)) {
       printError(value->str_begin, value->str_end,
                  "Can't initialize constant with non constant value");
       return false;
@@ -5827,7 +5827,7 @@ AstTreeVariable *setTypesFindVariable(const char *name_begin,
             if ((size_t)(arg.name_end - arg.name_begin) == param_name_size &&
                 strnEquals(arg.name_begin, param.nameBegin, param_name_size)) {
               if (!typeIsEqual(arg.type, param.value->type) ||
-                  (arg.isComptime && !isConst(param.value, false))) {
+                  (arg.isComptime && !isConst(param.value))) {
                 goto CONTINUE_OUTER;
               }
               initedArguments[j] = param;
@@ -5846,7 +5846,7 @@ AstTreeVariable *setTypesFindVariable(const char *name_begin,
             AstTreeTypeFunctionArgument arg = function->arguments[j];
             if (initedArguments[j].value == NULL) {
               if (!typeIsEqual(arg.type, param.value->type) ||
-                  (arg.isComptime && !isConst(param.value, false))) {
+                  (arg.isComptime && !isConst(param.value))) {
                 goto CONTINUE_OUTER;
               }
               initedArguments[j] = param;
-- 
cgit v1.2.3