| 96 | } |
| 97 | |
| 98 | static int getArgumentPos(const Token* ftok, const Token* tokToFind){ |
| 99 | const Token* tok = ftok; |
| 100 | if (Token::Match(tok, "%name% (|{")) |
| 101 | tok = ftok->next(); |
| 102 | if (!Token::Match(tok, "(|{|[")) |
| 103 | return -1; |
| 104 | const Token* startTok = tok->astOperand2(); |
| 105 | if (!startTok && tok->next() != tok->link()) |
| 106 | startTok = tok->astOperand1(); |
| 107 | return findArgumentPos(startTok, tokToFind); |
| 108 | } |
| 109 | |
| 110 | template<class T, class OuputIterator, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )> |
| 111 | static void astFlattenCopy(T* tok, const char* op, OuputIterator out, int depth = 100) |
no test coverage detected