feat: 命名参数 draw_rect(width: 10, height: 20)
This commit is contained in:
+4
-3
@@ -110,9 +110,9 @@ AstNode* ast_make_unary(void* alloc, BinaryOp op, AstNode* operand, SourceLoc lo
|
||||
return n;
|
||||
}
|
||||
|
||||
AstNode* ast_make_call(void* alloc, const char* name, AstNode** args, size_t count, SourceLoc loc) {
|
||||
AstNode* ast_make_call(void* alloc, const char* name, AstNode** args, const char** arg_names, size_t count, SourceLoc loc) {
|
||||
NEW(alloc, AST_CALL_EXPR);
|
||||
n->as.call.name = name; n->as.call.args = args; n->as.call.arg_count = count;
|
||||
n->as.call.name = name; n->as.call.args = args; n->as.call.arg_names = arg_names; n->as.call.arg_count = count;
|
||||
return n;
|
||||
}
|
||||
|
||||
@@ -242,11 +242,12 @@ AstNode* ast_make_impl_block(void* alloc, const char* struct_name, AstNode** met
|
||||
}
|
||||
|
||||
AstNode* ast_make_method_call(void* alloc, AstNode* receiver, const char* method,
|
||||
AstNode** args, size_t count, SourceLoc loc) {
|
||||
AstNode** args, const char** arg_names, size_t count, SourceLoc loc) {
|
||||
NEW(alloc, AST_METHOD_CALL);
|
||||
n->as.method_call.receiver = receiver;
|
||||
n->as.method_call.method_name = method;
|
||||
n->as.method_call.args = args;
|
||||
n->as.method_call.arg_names = arg_names;
|
||||
n->as.method_call.arg_count = count;
|
||||
return n;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user