Lines Matching defs:args
320 static int collect_arguments(struct token *start, struct token *arglist, struct arg *args, struct token *what)
345 args[count].arg = start->next;
346 args[count].n_normal = p->normal;
347 args[count].n_quoted = p->quoted;
348 args[count].n_str = p->str;
361 args[count].arg = NULL;
362 args[count].n_normal = p->normal;
363 args[count].n_quoted = p->quoted;
364 args[count].n_str = p->str;
453 static void expand_arguments(int count, struct arg *args)
457 struct token *arg = args[i].arg;
460 if (args[i].n_str)
461 args[i].str = stringify(arg);
462 if (args[i].n_normal) {
463 if (!args[i].n_quoted) {
464 args[i].expanded = arg;
465 args[i].arg = NULL;
467 args[i].expanded = arg;
469 args[i].expanded = dup_list(arg);
471 expand_list(&args[i].expanded);
621 static int handle_kludge(struct token **p, struct arg *args)
625 struct arg *v = &args[t->argnum];
642 static struct token **substitute(struct token **list, struct token *body, struct arg *args)
665 if (handle_kludge(&body, args)) {
678 arg = args[body->argnum].str;
679 count = &args[body->argnum].n_str;
683 arg = args[body->argnum].arg;
684 count = &args[body->argnum].n_quoted;
695 arg = args[body->argnum].expanded;
696 count = &args[body->argnum].n_normal;
753 struct arg args[nargs];
763 if (!collect_arguments(token->next, sym->arglist, args, token))
765 expand_arguments(nargs, args);
769 return sym->expand(token, args) ? 0 : 1;
774 tail = substitute(list, expansion, args);
1982 static bool expand_has_attribute(struct token *token, struct arg *args)
1984 struct token *arg = args[0].expanded;
1997 static bool expand_has_builtin(struct token *token, struct arg *args)
1999 struct token *arg = args[0].expanded;
2012 static bool expand_has_extension(struct token *token, struct arg *args)
2014 struct token *arg = args[0].expanded;
2037 static bool expand_has_feature(struct token *token, struct arg *args)
2039 struct token *arg = args[0].expanded;
2133 bool (*expand)(struct token *, struct arg *args);
2300 struct token *args[nargs];
2316 args[narg++] = token;
2336 token = args[token->argnum];