summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Keywords.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2010-03-16 17:29:40 +0100
committerErik Verbruggen <erik.verbruggen@nokia.com>2010-03-17 10:30:17 +0100
commitb4d72a78dbe365a0b5578e453bb9daaeb0260996 (patch)
tree5e4de55006cc0276cce7942a9aa33d2f78ea92b4 /src/shared/cplusplus/Keywords.cpp
parent61132f260c029c868e1971771424c62f36cef638 (diff)
downloadqt-creator-b4d72a78dbe365a0b5578e453bb9daaeb0260996.tar.gz
Added parser support for Q_INTERFACES.
Diffstat (limited to 'src/shared/cplusplus/Keywords.cpp')
-rw-r--r--src/shared/cplusplus/Keywords.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/shared/cplusplus/Keywords.cpp b/src/shared/cplusplus/Keywords.cpp
index d42ca3795a..7ce723e3cc 100644
--- a/src/shared/cplusplus/Keywords.cpp
+++ b/src/shared/cplusplus/Keywords.cpp
@@ -1198,7 +1198,7 @@ static inline int classify11(const char *s, bool q) {
return T_IDENTIFIER;
}
-static inline int classify12(const char *s, bool) {
+static inline int classify12(const char *s, bool q) {
if (s[0] == '_') {
if (s[1] == '_') {
if (s[2] == 'v') {
@@ -1224,6 +1224,31 @@ static inline int classify12(const char *s, bool) {
}
}
}
+ else if (q && s[0] == 'Q') {
+ if (s[1] == '_') {
+ if (s[2] == 'I') {
+ if (s[3] == 'N') {
+ if (s[4] == 'T') {
+ if (s[5] == 'E') {
+ if (s[6] == 'R') {
+ if (s[7] == 'F') {
+ if (s[8] == 'A') {
+ if (s[9] == 'C') {
+ if (s[10] == 'E') {
+ if (s[11] == 'S') {
+ return T_Q_INTERFACES;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
else if (s[0] == 'd') {
if (s[1] == 'y') {
if (s[2] == 'n') {