summaryrefslogtreecommitdiff
path: root/src/compiler/ast-tree.h
diff options
context:
space:
mode:
authorA404M <ahmadmahmoudiprogrammer@gmail.com>2025-04-04 02:04:51 +0330
committerA404M <ahmadmahmoudiprogrammer@gmail.com>2025-04-04 02:04:51 +0330
commit5c0542111e67d60490c7e218b985d6c6b9eaf9f2 (patch)
tree8f261ef4cb17dbb6fe5e46af2ba18f836d55caf6 /src/compiler/ast-tree.h
parent052ff9cc03544f29e1c3c79f09b6b0f3fb989532 (diff)
arg names are in function types now
Diffstat (limited to 'src/compiler/ast-tree.h')
-rw-r--r--src/compiler/ast-tree.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/compiler/ast-tree.h b/src/compiler/ast-tree.h
index e12daec..1513284 100644
--- a/src/compiler/ast-tree.h
+++ b/src/compiler/ast-tree.h
@@ -120,8 +120,16 @@ typedef struct AstTreeFunction {
AstTree *returnType;
} AstTreeFunction;
+typedef struct AstTreeTypeFunctionArgument {
+ char *str_begin;
+ char *str_end;
+ char *name_begin;
+ char *name_end;
+ AstTree *type;
+} AstTreeTypeFunctionArgument;
+
typedef struct AstTreeTypeFunction {
- AstTree **arguments;
+ AstTreeTypeFunctionArgument *arguments;
size_t arguments_size;
AstTree *returnType;
} AstTreeTypeFunction;
@@ -234,7 +242,6 @@ AstTree *astTreeParseCurlyBracket(ParserNode *parserNode,
AstTreeHelper *helper);
AstTree *astTreeParseParenthesis(ParserNode *parserNode, AstTreeHelper *helper);
-AstTreeFunction *getFunction(AstTree *value);
bool isFunction(AstTree *value);
bool isConst(AstTree *tree, AstTreeHelper *helper);
AstTree *makeTypeOf(AstTree *value);