diff options
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r-- | src/shared/cplusplus/Parser.cpp | 15 |
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) |