Basic support for new procedure code (non-polymorphic, non-proc-group)

This commit is contained in:
gingerBill
2023-06-15 01:37:55 +01:00
parent 242d3b3c4d
commit 2992ca5df1
4 changed files with 501 additions and 18 deletions

View File

@@ -367,6 +367,11 @@ gb_global char const *union_type_kind_strings[UnionType_COUNT] = {
"#shared_nil",
};
struct AstOrderedArgs {
Slice<Ast *> positional;
Slice<Ast *> named;
};
#define AST_KINDS \
AST_KIND(Ident, "identifier", struct { \
Token token; \
@@ -442,6 +447,7 @@ AST_KIND(_ExprBegin, "", bool) \
ProcInlining inlining; \
bool optional_ok_one; \
bool was_selector; \
AstOrderedArgs *ordered_args; \
}) \
AST_KIND(FieldValue, "field value", struct { Token eq; Ast *field, *value; }) \
AST_KIND(EnumFieldValue, "enum field value", struct { \