| 3177 | } |
| 3178 | |
| 3179 | const Token* getArgumentStart(const Token* ftok) |
| 3180 | { |
| 3181 | const Token* tok = ftok; |
| 3182 | if (Token::Match(tok, "%name% (|{|)")) |
| 3183 | tok = ftok->next(); |
| 3184 | while (Token::simpleMatch(tok, ")")) |
| 3185 | tok = tok->next(); |
| 3186 | if (!Token::Match(tok, "(|{|[")) |
| 3187 | return nullptr; |
| 3188 | const Token* startTok = tok->astOperand2(); |
| 3189 | if (!startTok && tok->next() != tok->link()) |
| 3190 | startTok = tok->astOperand1(); |
| 3191 | return startTok; |
| 3192 | } |
| 3193 | |
| 3194 | int numberOfArguments(const Token* ftok) { |
| 3195 | return astCount(getArgumentStart(ftok), ","); |
no test coverage detected