aboutsummaryrefslogtreecommitdiff
path: root/include/ast.h
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2019-09-21 13:59:39 +0200
committerdec05eba <dec05eba@protonmail.com>2020-07-25 14:36:46 +0200
commitc811a743a1528db1d05970e1aa14162ef7c70b75 (patch)
tree4560ab5d9084c385946415e9fc2dbf187e26c844 /include/ast.h
parent142a13ad3f77c0ad1bd321d1a1f864a5117896d1 (diff)
Implement vararg, verify arguments to parameters
Diffstat (limited to 'include/ast.h')
-rw-r--r--include/ast.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/ast.h b/include/ast.h
index 0c34d0b..c45d4aa 100644
--- a/include/ast.h
+++ b/include/ast.h
@@ -132,6 +132,12 @@ struct Scope {
FunctionSignature *function_signature; /* Borrowed from FunctionDecl. Only used if the scope belongs to FunctionDecl */
};
+typedef enum {
+ VARIABLE_TYPE_FLAG_NONE = 0,
+ VARIABLE_TYPE_FLAG_OPTIONAL = 1 << 0,
+ VARIABLE_TYPE_FLAG_BORROW = 1 << 1
+} VariableTypeFlag;
+
typedef struct {
enum {
VARIABLE_TYPE_NONE,
@@ -143,6 +149,7 @@ typedef struct {
Variable *variable;
FunctionSignature *signature;
} value;
+ VariableTypeFlag variable_type_flags;
} VariableType;
struct FileScopeReference {