Implemented C variadic arguments
This commit is contained in:
@@ -468,9 +468,14 @@ parse_parameter_list(Arena *arena) {
|
||||
Array<Ast_Decl *> params = {arena};
|
||||
if (!token_is(TK_CloseParen)) {
|
||||
for (;;) {
|
||||
Token *name = token_get();
|
||||
if (name->kind == TK_Identifier || name->kind == TK_Polymorph) {
|
||||
token_next();
|
||||
Token *name = token_next();
|
||||
if (name->kind == TK_ThreeDots) {
|
||||
Ast_Decl *param = ast_new(Ast_Decl, AST_VARGS_LAMBDA_PARAM, name, AST_DECL);
|
||||
param->name = pctx->intern("..."_s);
|
||||
params.add(param);
|
||||
break;
|
||||
}
|
||||
else if (name->kind == TK_Identifier || name->kind == TK_Polymorph) {
|
||||
token_expect(TK_Colon);
|
||||
|
||||
Ast_Decl *param = ast_new(Ast_Decl, AST_VAR, name, AST_DECL);
|
||||
|
||||
Reference in New Issue
Block a user