[geany/geany] f04df0: Fix parsing of C++11 final classes
Colomban Wendling
git-noreply at geany.org
Fri Oct 19 19:39:38 UTC 2012
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Fri, 19 Oct 2012 19:39:38
Commit: f04df056cdd96be7c3319993d71b8dc36fdd397c
https://github.com/geany/geany/commit/f04df056cdd96be7c3319993d71b8dc36fdd397c
Log Message:
-----------
Fix parsing of C++11 final classes
Closes #3577559.
Modified Paths:
--------------
tagmanager/ctags/c.c
Modified: tagmanager/ctags/c.c
9 files changed, 8 insertions(+), 1 deletions(-)
===================================================================
@@ -423,7 +423,7 @@
{ "extends", KEYWORD_EXTENDS, { 0, 0, 0, 1, 1, 0, 0 } },
{ "extern", KEYWORD_EXTERN, { 1, 1, 1, 0, 1, 1, 0 } },
{ "extern", KEYWORD_NAMESPACE, { 0, 0, 0, 0, 0, 0, 1 } }, /* parse block */
- { "final", KEYWORD_FINAL, { 0, 0, 0, 1, 0, 0, 1 } },
+ { "final", KEYWORD_FINAL, { 0, 1, 0, 1, 0, 0, 1 } },
{ "finally", KEYWORD_FINALLY, { 0, 0, 0, 0, 0, 1, 1 } },
{ "float", KEYWORD_FLOAT, { 1, 1, 1, 1, 0, 1, 1 } },
{ "for", KEYWORD_FOR, { 1, 1, 1, 1, 0, 1, 1 } },
@@ -2955,6 +2955,13 @@ static void tagCheck (statementInfo *const st)
}
}
}
+ /* C++ 11 allows class <name> final { ... } */
+ else if (isLanguage (Lang_cpp) && isType (prev, TOKEN_KEYWORD) &&
+ prev->keyword == KEYWORD_FINAL && isType(prev2, TOKEN_NAME))
+ {
+ name_token = (tokenInfo *)prev2;
+ copyToken (st->blockName, name_token);
+ }
else if (isLanguage (Lang_csharp))
makeTag (prev, st, FALSE, TAG_PROPERTY);
else
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
More information about the Commits
mailing list