Commit b2df9bdd authored by Roberto Raggi's avatar Roberto Raggi
Browse files

Made foreach a keyword when parsing with qtMocRun

parent 3cdd4806
...@@ -1435,6 +1435,8 @@ bool Preprocessor::isQtReservedWord(const QByteArray &macroId) const ...@@ -1435,6 +1435,8 @@ bool Preprocessor::isQtReservedWord(const QByteArray &macroId) const
return true; return true;
else if (size == 7 && macroId.at(0) == 's' && macroId == "signals") else if (size == 7 && macroId.at(0) == 's' && macroId == "signals")
return true; return true;
else if (size == 7 && macroId.at(0) == 'f' && macroId == "foreach")
return true;
else if (size == 5 && macroId.at(0) == 's' && macroId == "slots") else if (size == 5 && macroId.at(0) == 's' && macroId == "slots")
return true; return true;
return false; return false;
......
...@@ -620,6 +620,21 @@ static inline int classify7(const char *s, bool q) { ...@@ -620,6 +620,21 @@ static inline int classify7(const char *s, bool q) {
} }
} }
} }
else if (q && s[0] == 'f') {
if (s[1] == 'o') {
if (s[2] == 'r') {
if (s[3] == 'e') {
if (s[4] == 'a') {
if (s[5] == 'c') {
if (s[6] == 'h') {
return T_Q_FOREACH;
}
}
}
}
}
}
}
else if (q && s[0] == 's') { else if (q && s[0] == 's') {
if (s[1] == 'i') { if (s[1] == 'i') {
if (s[2] == 'g') { if (s[2] == 'g') {
......
...@@ -90,7 +90,7 @@ static const char *token_names[] = { ...@@ -90,7 +90,7 @@ static const char *token_names[] = {
("@protected"), ("@protocol"), ("@public"), ("@required"), ("@selector"), ("@protected"), ("@protocol"), ("@public"), ("@required"), ("@selector"),
("@synchronized"), ("@synthesize"), ("@throw"), ("@try"), ("@synchronized"), ("@synthesize"), ("@throw"), ("@try"),
("SIGNAL"), ("SLOT"), ("Q_SIGNAL"), ("Q_SLOT"), ("signals"), ("slots") ("SIGNAL"), ("SLOT"), ("Q_SIGNAL"), ("Q_SLOT"), ("signals"), ("slots"), ("Q_FOREACH")
}; };
Token::Token() : Token::Token() :
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment