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.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index a86f4c2395..61382f9f9d 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -5251,11 +5251,18 @@ bool Parser::parseObjCTypeQualifiers(unsigned &type_qualifier)
return false;
const Identifier *id = tok().identifier;
- const int k = classifyObjectiveCContextKeyword(id->chars(), id->size());
- if (k == Token_identifier)
+ switch (classifyObjectiveCContextKeyword(id->chars(), id->size())) {
+ case Token_bycopy:
+ case Token_byref:
+ case Token_in:
+ case Token_inout:
+ case Token_oneway:
+ case Token_out:
+ type_qualifier = consumeToken();
+ return true;
+ default:
return false;
- type_qualifier = consumeToken();
- return true;
+ }
}
bool Parser::peekAtObjCContextKeyword(int kind)