diff options
author | Roberto Raggi <qtc-committer@nokia.com> | 2009-02-05 15:06:29 +0100 |
---|---|---|
committer | Roberto Raggi <qtc-committer@nokia.com> | 2009-02-05 15:06:48 +0100 |
commit | 68552b8f4d88f31462270f66774dcc9ec6755c1a (patch) | |
tree | 126756d4a6ea2a3e72d55ff7677c76730866b438 /src/shared/cplusplus/Parser.cpp | |
parent | ad5bdf6969d250bc138f5cd1d2b92be8b5c4dc6d (diff) | |
download | qt-creator-68552b8f4d88f31462270f66774dcc9ec6755c1a.tar.gz |
Added fast lookup of objc type qualifiers.
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r-- | src/shared/cplusplus/Parser.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index 5268ce9e32..6fb2da600d 100644 --- a/src/shared/cplusplus/Parser.cpp +++ b/src/shared/cplusplus/Parser.cpp @@ -56,6 +56,7 @@ #include "Control.h" #include "AST.h" #include "Literals.h" +#include "ObjectiveCTypeQualifiers.h" #include <cstdlib> #include <cstring> #include <cassert> @@ -4043,16 +4044,11 @@ bool Parser::parseObjCTypeQualifiers() return false; Identifier *id = tok().identifier; - if (! strcmp("in", id->chars()) || - ! strcmp("out", id->chars()) || - ! strcmp("inout", id->chars()) || - ! strcmp("bycopy", id->chars()) || - ! strcmp("byref", id->chars()) || - ! strcmp("oneway", id->chars())) { - consumeToken(); - return true; - } - return false; + const int k = classifyObjectiveCTypeQualifiers(id->chars(), id->size()); + if (k == Token_identifier) + return false; + consumeToken(); + return true; } // objc-end: T_AT_END |