| 812 | } |
| 813 | |
| 814 | template<class T, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )> |
| 815 | static T* nextArgumentImpl(T *thisTok) |
| 816 | { |
| 817 | for (T* tok = thisTok; tok; tok = tok->next()) { |
| 818 | if (tok->str() == ",") |
| 819 | return tok->next(); |
| 820 | if (tok->link() && Token::Match(tok, "(|{|[|<")) |
| 821 | tok = tok->link(); |
| 822 | else if (Token::Match(tok, ")|;")) |
| 823 | return nullptr; |
| 824 | } |
| 825 | return nullptr; |
| 826 | } |
| 827 | |
| 828 | const Token* Token::nextArgument() const |
| 829 | { |
no test coverage detected