| 5211 | |
| 5212 | template<typename T> |
| 5213 | static T* skipInitializerList(T* tok) |
| 5214 | { |
| 5215 | T* const start = tok; |
| 5216 | while (Token::Match(tok, "[:,] ::| %name%")) { |
| 5217 | tok = tok->tokAt(tok->strAt(1) == "::" ? 1 : 2); |
| 5218 | while (Token::Match(tok, ":: %name%")) |
| 5219 | tok = tok->tokAt(2); |
| 5220 | if (!Token::Match(tok, "[({<]") || !tok->link()) |
| 5221 | return start; |
| 5222 | const bool isTemplate = tok->str() == "<"; |
| 5223 | tok = tok->link()->next(); |
| 5224 | if (isTemplate && tok && tok->link()) |
| 5225 | tok = tok->link()->next(); |
| 5226 | } |
| 5227 | return tok; |
| 5228 | } |
| 5229 | |
| 5230 | void Tokenizer::setVarIdPass2() |
| 5231 | { |
no test coverage detected