| 2225 | } |
| 2226 | |
| 2227 | bool expandArg(TokenList &output, const Token *tok, const std::vector<const Token*> ¶metertokens) const { |
| 2228 | if (!tok->name) |
| 2229 | return false; |
| 2230 | |
| 2231 | const unsigned int argnr = getArgNum(tok->str()); |
| 2232 | if (argnr >= args.size()) |
| 2233 | return false; |
| 2234 | |
| 2235 | // empty variadic parameter |
| 2236 | if (variadic && argnr + 1U >= parametertokens.size()) |
| 2237 | return true; |
| 2238 | |
| 2239 | for (const Token *partok = parametertokens[argnr]->next; partok != parametertokens[argnr + 1U]; partok = partok->next) |
| 2240 | output.push_back(new Token(*partok)); |
| 2241 | |
| 2242 | return true; |
| 2243 | } |
| 2244 | |
| 2245 | bool expandArg(TokenList &output, const Token *tok, const Location &loc, const MacroMap ¯os, const std::set<TokenString> &expandedmacros, const std::vector<const Token*> ¶metertokens) const { |
| 2246 | if (!tok->name) |