Branch: refs/heads/master Author: Jiří Techet techet@gmail.com Committer: Jiří Techet techet@gmail.com Date: Mon, 10 Jan 2022 20:44:13 UTC Commit: b4afb8e75bda1a648020bdea731316bf0d162b20 https://github.com/geany/geany/commit/b4afb8e75bda1a648020bdea731316bf0d162b...
Log Message: ----------- Add a flag representing anonymous tags
The flag is set when XTAG_ANONYMOUS is defined and is used for detecting anonymous tags inside tm_tag_is_anon().
Modified Paths: -------------- src/tagmanager/tm_ctags.c src/tagmanager/tm_tag.c src/tagmanager/tm_tag.h
Modified: src/tagmanager/tm_ctags.c 4 lines changed, 3 insertions(+), 1 deletions(-) =================================================================== @@ -120,7 +120,9 @@ static gboolean init_tag(TMTag *tag, TMSourceFile *file, const tagEntryInfo *tag tag->name = g_strdup(tag_entry->name); tag->type = type; tag->local = tag_entry->isFileScope; - tag->flags = 0; + tag->flags = tm_tag_flag_none_t; + if (isTagExtraBitMarked(tag_entry, XTAG_ANONYMOUS)) + tag->flags = tm_tag_flag_anon_t; tag->line = tag_entry->lineNumber; if (NULL != tag_entry->extensionFields.signature) tag->arglist = g_strdup(tag_entry->extensionFields.signature);
Modified: src/tagmanager/tm_tag.c 3 lines changed, 3 insertions(+), 0 deletions(-) =================================================================== @@ -670,6 +670,9 @@ gboolean tm_tag_is_anon(const TMTag *tag) guint i; char dummy;
+ if (tag->flags & tm_tag_flag_anon_t) + return TRUE; + if (tag->lang == TM_PARSER_C || tag->lang == TM_PARSER_CPP) return sscanf(tag->name, "__anon%u%c", &i, &dummy) == 1; else if (tag->lang == TM_PARSER_FORTRAN || tag->lang == TM_PARSER_F77)
Modified: src/tagmanager/tm_tag.h 7 lines changed, 7 insertions(+), 0 deletions(-) =================================================================== @@ -81,6 +81,13 @@ typedef enum #define TAG_IMPL_VIRTUAL 'v' /**< Virtual implementation */ #define TAG_IMPL_UNKNOWN 'x' /**< Unknown implementation */
+enum +{ + tm_tag_flag_none_t = 0, /**< No flags */ + tm_tag_flag_anon_t = 1, /**< Anonymous tag */ + tm_tag_flag_max_t = 1, /**< Maximum value */ +}; + /** * The TMTag structure represents a single tag in the tag manager. **/
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).