Merge pull request #618 from simartin/simplifyEnum_code_simplification

Simplify the code handling C++0x typed enumerations.
This commit is contained in:
amai2012 2015-07-07 08:20:30 +02:00
commit 23402b9b44
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
}