[cfe-commits] r116439 - /cfe/trunk/tools/libclang/CIndex.cpp
jahanian
fjahanian at apple.com
Wed Oct 13 15:10:07 PDT 2010
A test case please?
- Fariborz
On Oct 13, 2010, at 2:44 PM, David Chisnall wrote:
> Author: theraven
> Date: Wed Oct 13 16:44:48 2010
> New Revision: 116439
>
> URL: http://llvm.org/viewvc/llvm-project?rev=116439&view=rev
> Log:
> Don't claim that things that are Objective-C keywords if preceded by an @ are keywords unless they are preceded by an @.
>
> For example, don't claim that end is a keyword in:
>
> unsigned end;
>
>
> Modified:
> cfe/trunk/tools/libclang/CIndex.cpp
>
> Modified: cfe/trunk/tools/libclang/CIndex.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=116439&r1=116438&r2=116439&view=diff
> ==============================================================================
> --- cfe/trunk/tools/libclang/CIndex.cpp (original)
> +++ cfe/trunk/tools/libclang/CIndex.cpp Wed Oct 13 16:44:48 2010
> @@ -3533,6 +3533,7 @@
> const char *EffectiveBufferEnd = Buffer.data() + EndLocInfo.second;
> llvm::SmallVector<CXToken, 32> CXTokens;
> Token Tok;
> + bool previousWasAt = false;
> do {
> // Lex the next token
> Lex.LexFromRawLexer(Tok);
> @@ -3565,7 +3566,7 @@
> IdentifierInfo *II
> = CXXUnit->getPreprocessor().LookUpIdentifierInfo(Tok, StartPos);
>
> - if (II->getObjCKeywordID() != tok::objc_not_keyword) {
> + if ((II->getObjCKeywordID() != tok::objc_not_keyword) && previousWasAt) {
> CXTok.int_data[0] = CXToken_Keyword;
> }
> else {
> @@ -3582,6 +3583,7 @@
> CXTok.ptr_data = 0;
> }
> CXTokens.push_back(CXTok);
> + previousWasAt = Tok.is(tok::at);
> } while (Lex.getBufferLocation() <= EffectiveBufferEnd);
>
> if (CXTokens.empty())
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list