[geany/geany] b4afb8: Add a flag representing anonymous tags

Jiří Techet git-noreply at xxxxx
Sat Feb 12 21:38:21 UTC 2022


Branch:      refs/heads/master
Author:      Jiří Techet <techet at gmail.com>
Committer:   Jiří Techet <techet at gmail.com>
Date:        Mon, 10 Jan 2022 20:44:13 UTC
Commit:      b4afb8e75bda1a648020bdea731316bf0d162b20
             https://github.com/geany/geany/commit/b4afb8e75bda1a648020bdea731316bf0d162b20

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).


More information about the Commits mailing list