From 42eb5e5d3f10c3a9187dcf8edd7c023a3ea10dcd Mon Sep 17 00:00:00 2001 From: A404M Date: Fri, 16 May 2025 01:20:33 +0330 Subject: fix access operator and some stuff to make break work --- src/compiler/ast-tree.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/compiler/ast-tree.c') diff --git a/src/compiler/ast-tree.c b/src/compiler/ast-tree.c index 57f0568..1d0613b 100644 --- a/src/compiler/ast-tree.c +++ b/src/compiler/ast-tree.c @@ -4765,9 +4765,7 @@ bool setTypesReturn(AstTree *tree, AstTreeSetTypesHelper _helper, astTreeDelete(helper.lookingType); return false; } - if (helper.lookingType != function->returnType) { - astTreeDelete(helper.lookingType); - } + astTreeDelete(helper.lookingType); if (!typeIsEqual(metadata->value->type, function->returnType)) { printError(tree->str_begin, tree->str_end, "Type mismatch"); return false; @@ -5530,7 +5528,7 @@ bool setTypesOperatorAccess(AstTree *tree, AstTreeSetTypesHelper helper) { "Member not found"); return false; } else if (typeIsEqual(metadata->object->type, &AST_TREE_NAMESPACE_TYPE)) { - AstTree *value = getValue(metadata->object, false); + AstTree *value = getValue(metadata->object, true); AstTreeNamespace *namespace = value->metadata; AstTreeSetTypesHelper newHelper = { .root = helper.root->imports[namespace->importedIndex].root, @@ -5539,6 +5537,7 @@ bool setTypesOperatorAccess(AstTree *tree, AstTreeSetTypesHelper helper) { .dependencies = helper.dependencies, .lookingType = helper.lookingType, }; + astTreeDelete(value); AstTreeVariable *var = setTypesFindVariable(metadata->member.name.begin, -- cgit v1.2.3