inline parameters

This replaces the current generic syntax for functions and replaces
it with the concept of inline parameters.

This paves the way for the "all structs anonymous" proposal.

Closes #151.
This commit is contained in:
Andrew Kelley
2016-07-24 18:35:50 -07:00
parent 425c0ffa01
commit 78d4fb20c4
19 changed files with 568 additions and 296 deletions

View File

@@ -353,7 +353,8 @@ static void render_node(AstRender *ar, AstNode *node) {
assert(param_decl->type == NodeTypeParamDecl);
if (buf_len(&param_decl->data.param_decl.name) > 0) {
const char *noalias_str = param_decl->data.param_decl.is_noalias ? "noalias " : "";
fprintf(ar->f, "%s", noalias_str);
const char *inline_str = param_decl->data.param_decl.is_inline ? "inline " : "";
fprintf(ar->f, "%s%s", noalias_str, inline_str);
print_symbol(ar, &param_decl->data.param_decl.name);
fprintf(ar->f, ": ");
}