Simplify the code handling C++0x typed enumerations.

This commit is contained in:
Simon Martin 2015-07-06 23:37:16 +02:00
parent f7c6140e1a
commit 7bfb1fb545
1 changed files with 5 additions and 12 deletions

View File

@ -7593,22 +7593,15 @@ void Tokenizer::simplifyEnum()
if (tok->next()->str() == ":") {
tok = tok->next();
if (!tok->next() || !tok->next()->isName()) {
syntaxError(tok);
return; // can't recover
}
typeTokenStart = tok->next();
typeTokenEnd = 0;
tok = tok->next();
typeTokenStart = tok;
typeTokenEnd = typeTokenStart;
while (typeTokenEnd->next() && (typeTokenEnd->next()->str() == "::" ||
Token::Match(typeTokenEnd->next(), "%type%"))) {
typeTokenEnd = typeTokenEnd->next();
while (tok->next() && Token::Match(tok->next(), "::|%type%")) {
typeTokenEnd = tok->next();
tok = tok->next();
}
if (!tok->next()) {
if (!tok->next() || !typeTokenEnd) {
syntaxError(tok);
return; // can't recover
}