summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r--src/shared/cplusplus/Parser.cpp16
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