[geany/geany] 464632: Remove unused tm_symbol

Jiří Techet git-noreply at xxxxx
Sun Oct 5 20:40:15 UTC 2014


Branch:      refs/heads/master
Author:      Jiří Techet <techet at gmail.com>
Committer:   Jiří Techet <techet at gmail.com>
Date:        Sun, 05 Oct 2014 20:40:15 UTC
Commit:      464632387837ef0ebe237b79fbf7debef25a2860
             https://github.com/geany/geany/commit/464632387837ef0ebe237b79fbf7debef25a2860

Log Message:
-----------
Remove unused tm_symbol


Modified Paths:
--------------
    tagmanager/src/Makefile.am
    tagmanager/src/tm_symbol.c
    tagmanager/src/tm_symbol.h
    tagmanager/src/tm_tagmanager.h
    wscript

Modified: tagmanager/src/Makefile.am
2 lines changed, 0 insertions(+), 2 deletions(-)
===================================================================
@@ -16,7 +16,6 @@ tagmanager_include_HEADERS = \
 	tm_file_entry.h \
 	tm_parser.h \
 	tm_source_file.h \
-	tm_symbol.h \
 	tm_tag.h \
 	tm_tagmanager.h \
 	tm_work_object.h \
@@ -26,7 +25,6 @@ tagmanager_include_HEADERS = \
 libtagmanager_a_SOURCES =\
 	tm_file_entry.c \
 	tm_source_file.c \
-	tm_symbol.c \
 	tm_tag.c \
 	tm_tagmanager.c \
 	tm_work_object.c \


Modified: tagmanager/src/tm_symbol.c
319 lines changed, 0 insertions(+), 319 deletions(-)
===================================================================
@@ -1,319 +0,0 @@
-/*
-*
-*   Copyright (c) 2001-2002, Biswapesh Chattopadhyay
-*
-*   This source code is released for free distribution under the terms of the
-*   GNU General Public License.
-*
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "tm_symbol.h"
-
-
-#define SYM_NEW(T)	((T) = g_slice_new0(TMSymbol))
-#define SYM_FREE(T)	g_slice_free(TMSymbol, (T))
-
-
-void tm_symbol_print(TMSymbol *sym, guint level)
-{
-	guint i;
-
-	g_return_if_fail (sym != NULL);
-	for (i=0; i < level; ++i)
-		fputc('\t', stderr);
-	fprintf(stderr, "%s\n", (sym->tag)?sym->tag->name:"Root");
-	if (sym->info.children)
-	{
-		if (sym->tag && tm_tag_function_t == sym->tag->type)
-			tm_tag_print(sym->info.equiv, stderr);
-		else
-		{
-			for (i=0; i < sym->info.children->len; ++i)
-				tm_symbol_print(TM_SYMBOL(sym->info.children->pdata[i])
-				  , level + 1);
-		}
-	}
-}
-
-#define SYM_ORDER(T) (((tm_tag_class_t == (T)->type) || (tm_tag_struct_t ==\
-	(T)->type))?1:(((tm_tag_enum_t == (T)->type) || (tm_tag_interface_t ==\
-	(T)->type))?2:3))
-
-/* Comparison function for sorting symbols alphabetically */
-int tm_symbol_compare(const void *p1, const void *p2)
-{
-	TMSymbol *s1, *s2;
-
-	if (!p1 && !p2)
-		return 0;
-	else if (!p2)
-		return 1;
-	else if (!p1)
-		return -1;
-	s1 = *(TMSymbol **) p1;
-	s2 = *(TMSymbol **) p2;
-	if (!s1 && !s2)
-		return 0;
-	else if (!s2)
-		return 1;
-	else if (!s1)
-		return -1;
-	if (!s1->tag && !s2->tag)
-		return 0;
-	else if (!s2->tag)
-		return 1;
-	else if (!s1->tag)
-		return -1;
-	return strcmp(s1->tag->name, s2->tag->name);
-}
-
-/*
- * Compares function argument lists.
- * FIXME: Compare based on types, not an exact string match.
- */
-int tm_arglist_compare(const TMTag* t1, const TMTag* t2)
-{
-	return strcmp(FALLBACK(t1->atts.entry.arglist, ""),
-			FALLBACK(t2->atts.entry.arglist, ""));
-}
-
-/* Need this custom compare function to generate a symbol tree
-in a simgle pass from tag list */
-int tm_symbol_tag_compare(const TMTag **t1, const TMTag **t2)
-{
-	gint s1, s2;
-
-	if (!t1 && !t2)
-		return 0;
-	if (t1 && t2 && !*t1 && !*t2)
-		return 0;
-	else if (!t1 || !*t1)
-		return -1;
-	else if (!t2 || !*t2)
-		return 1;
-	if ((tm_tag_file_t == (*t1)->type) && (tm_tag_file_t == (*t2)->type))
-		return 0;
-	else if (tm_tag_file_t == (*t1)->type)
-		return -1;
-	else if (tm_tag_file_t == (*t2)->type)
-		return 1;
-
-	/* Compare on depth of scope - less depth gets higher priortity */
-	s1 = tm_tag_scope_depth(*t1);
-	s2 = tm_tag_scope_depth(*t2);
-	if (s1 != s2)
-		return (s1 - s2);
-
-	/* Compare of tag type using a symbol ordering routine */
-	s1 = SYM_ORDER(*t1);
-	s2 = SYM_ORDER(*t2);
-	if (s1 != s2)
-		return (s1 - s2);
-
-	/* Compare names alphabetically */
-	s1 = strcmp((*t1)->name, (*t2)->name);
-	if (s1 != 0)
-		return (s1);
-
-	/* Compare scope alphabetically */
-	s1 = strcmp(FALLBACK((*t1)->atts.entry.scope, ""),
-	  FALLBACK((*t2)->atts.entry.scope, ""));
-	if (s1 != 0)
-		return s1;
-
-	/* If none of them are function/prototype, they are effectively equal */
-	if ((tm_tag_function_t != (*t1)->type) &&
-	    (tm_tag_prototype_t != (*t1)->type)&&
-	    (tm_tag_function_t != (*t2)->type) &&
-	    (tm_tag_prototype_t != (*t2)->type))
-		return 0;
-
-	/* Whichever is not a function/prototype goes first */
-	if ((tm_tag_function_t != (*t1)->type) &&
-	    (tm_tag_prototype_t != (*t1)->type))
-		return -1;
-	if ((tm_tag_function_t != (*t2)->type) &&
-	    (tm_tag_prototype_t != (*t2)->type))
-		return 1;
-
-	/* Compare the argument list */
-	s1 = tm_arglist_compare(*t1, *t2);
-	if (s1 != 0)
-		return s1;
-
-	/* Functions go before prototypes */
-	if ((tm_tag_function_t == (*t1)->type) &&
-	    (tm_tag_function_t != (*t2)->type))
-		return -1;
-	if ((tm_tag_function_t != (*t1)->type) &&
-	    (tm_tag_function_t == (*t2)->type))
-		return 1;
-
-	/* Give up */
-	return 0;
-}
-
-TMSymbol *tm_symbol_tree_new(GPtrArray *tags_array)
-{
-	TMSymbol *root = NULL;
-	GPtrArray *tags;
-
-#ifdef TM_DEBUG
-	g_message("Building symbol tree..");
-#endif
-
-	if ((!tags_array) || (tags_array->len <= 0))
-		return NULL;
-
-#ifdef TM_DEBUG
-	fprintf(stderr, "Dumping all tags..\n");
-	tm_tags_array_print(tags_array, stderr);
-#endif
-
-	tags = tm_tags_extract(tags_array, tm_tag_max_t);
-#ifdef TM_DEBUG
-	fprintf(stderr, "Dumping unordered tags..\n");
-	tm_tags_array_print(tags, stderr);
-#endif
-
-	if (tags && (tags->len > 0))
-	{
-		guint i;
-		int j;
-		int max_parents = -1;
-		TMTag *tag;
-		TMSymbol *sym = NULL, *sym1;
-		char *parent_name;
-		char *scope_end;
-		gboolean matched;
-		int str_match;
-
-		SYM_NEW(root);
-		tm_tags_custom_sort(tags, (TMTagCompareFunc) tm_symbol_tag_compare
-		  , FALSE);
-
-#ifdef TM_DEBUG
-		fprintf(stderr, "Dumping ordered tags..");
-		tm_tags_array_print(tags, stderr);
-		fprintf(stderr, "Rebuilding symbol table..\n");
-#endif
-		for (i=0; i < tags->len; ++i)
-		{
-			tag = TM_TAG(tags->pdata[i]);
-
-			if (tm_tag_prototype_t == tag->type)
-			{
-				if (sym && (tm_tag_function_t == sym->tag->type) &&
-				  (!sym->info.equiv) &&
-				  (0 == strcmp(FALLBACK(tag->atts.entry.scope, "")
-							 , FALLBACK(sym->tag->atts.entry.scope, ""))))
-				{
-					sym->info.equiv = tag;
-					continue;
-				}
-			}
-			if (max_parents < 0)
-			{
-				if (SYM_ORDER(tag) > 2)
-				{
-					max_parents = i;
-					if (max_parents > 0)
-						qsort(root->info.children->pdata, max_parents
-						  , sizeof(gpointer), tm_symbol_compare);
-				}
-			}
-			SYM_NEW(sym);
-			sym->tag = tag;
-			if ((max_parents <= 0) || (!tag->atts.entry.scope))
-			{
-				sym->parent = root;
-				if (!root->info.children)
-					root->info.children = g_ptr_array_new();
-				g_ptr_array_add(root->info.children, sym);
-			}
-			else
-			{
-				parent_name = tag->atts.entry.scope;
-				scope_end = strstr(tag->atts.entry.scope, "::");
-				if (scope_end)
-					*scope_end = '\0';
-				matched = FALSE;
-				if (('\0' != parent_name[0]) &&
-				  (0 != strcmp(parent_name, "<anonymous>")))
-				{
-					for (j=0; j < max_parents; ++j)
-					{
-						sym1 = TM_SYMBOL(root->info.children->pdata[j]);
-						str_match = strcmp(sym1->tag->name, parent_name);
-						if (str_match == 0)
-						{
-							matched = TRUE;
-							sym->parent = sym1;
-							if (!sym1->info.children)
-								sym1->info.children = g_ptr_array_new();
-							g_ptr_array_add(sym1->info.children, sym);
-							break;
-						}
-						else if (str_match > 0)
-							break;
-					}
-				}
-				if (!matched)
-				{
-					sym->parent = root;
-					if (!root->info.children)
-						root->info.children = g_ptr_array_new();
-					g_ptr_array_add(root->info.children, sym);
-				}
-				if (scope_end)
-					*scope_end = ':';
-			}
-		}
-#ifdef TM_DEBUG
-		fprintf(stderr, "Done.Dumping symbol tree..");
-		tm_symbol_print(root, 0);
-#endif
-	}
-	if (tags)
-		g_ptr_array_free(tags, TRUE);
-
-	return root;
-}
-
-static void tm_symbol_free(TMSymbol *sym)
-{
-	if (!sym)
-		return;
-	if ((!sym->tag) || ((tm_tag_function_t != sym->tag->type) &&
-		    (tm_tag_prototype_t != sym->tag->type)))
-	{
-		if (sym->info.children)
-		{
-			guint i;
-			for (i=0; i < sym->info.children->len; ++i)
-				tm_symbol_free(TM_SYMBOL(sym->info.children->pdata[i]));
-			g_ptr_array_free(sym->info.children, TRUE);
-			sym->info.children = NULL;
-		}
-	}
-	SYM_FREE(sym);
-}
-
-void tm_symbol_tree_free(gpointer root)
-{
-	if (root)
-		tm_symbol_free(TM_SYMBOL(root));
-}
-
-TMSymbol *tm_symbol_tree_update(TMSymbol *root, GPtrArray *tags)
-{
-	if (root)
-		tm_symbol_free(root);
-	if ((tags) && (tags->len > 0))
-		return tm_symbol_tree_new(tags);
-	else
-		return NULL;
-}


Modified: tagmanager/src/tm_symbol.h
80 lines changed, 0 insertions(+), 80 deletions(-)
===================================================================
@@ -1,80 +0,0 @@
-/*
-*
-*   Copyright (c) 2001-2002, Biswapesh Chattopadhyay
-*
-*   This source code is released for free distribution under the terms of the
-*   GNU General Public License.
-*
-*/
-
-#ifndef TM_SYMBOL_H
-#define TM_SYMBOL_H
-
-
-/*! \file
- The TMSymbol structure and related routines are used by TMProject to maintain a symbol
- hierarchy. The top level TMSymbol maintains a pretty simple hierarchy, consisting of
- compounds (classes and structs) and their children (member variables and functions).
-*/
-
-#include <glib.h>
-
-#include "tm_tag.h"
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/*! This structure defines a symbol */
-typedef struct _TMSymbol
-{
-	TMTag *tag; /*!< The tag corresponding to this symbol */
-	struct _TMSymbol *parent; /*!< Parent class/struct for functions/variables */
-	union
-	{
-		GPtrArray *children; /*!< Array of child symbols */
-		TMTag *equiv; /*!< Prototype tag for functions */
-	} info;
-} TMSymbol;
-
-#define TM_SYMBOL(S) ((TMSymbol *) (S))
-
-/*! Creates a symbol tree from an array of tags.
-\param tags The array of tags from which to create the symbol tree.
-\return The root symbol (starting point of the symbol tree)
-*/
-TMSymbol *tm_symbol_tree_new(GPtrArray *tags);
-
-/*! Given a symbol, frees it and all its children.
-\param root The symbol to free.
-*/
-void tm_symbol_tree_free(gpointer root);
-
-/*! Given a symbol tree and an array of tags, updates the symbol tree. Note
-that the returned pointer may be different from the passed root pointer,
-so don't throw it away. This is basically a convinience function that calls
-tm_symbol_tree_free() and tm_symbol_tree_new().
-\param root The original root symbol.
-\param tags The array of tags from which to rebuild the tree.
-\return The new root symbol.
-*/
-TMSymbol *tm_symbol_tree_update(TMSymbol *root, GPtrArray *tags);
-
-/*! Arglist comparison function */
-int tm_arglist_compare(const TMTag *t1, const TMTag *t2);
-
-/*! Symbol comparison function - can be used for sorting purposes. */
-int tm_symbol_compare(const void *p1, const void *p2);
-
-/*! Tag comparison function tailor made for creating symbol view */
-int tm_symbol_tag_compare(const TMTag **t1, const TMTag **t2);
-
-/*! Prints the symbol hierarchy to standard error */
-void tm_symbol_print(TMSymbol *sym, guint level);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* TM_SYMBOL_H */


Modified: tagmanager/src/tm_tagmanager.h
1 lines changed, 0 insertions(+), 1 deletions(-)
===================================================================
@@ -11,7 +11,6 @@
 #define TM_TAGMANAGER_H
 
 #include "tm_tag.h"
-#include "tm_symbol.h"
 #include "tm_file_entry.h"
 #include "tm_workspace.h"
 #include "tm_work_object.h"


Modified: wscript
3 lines changed, 1 insertions(+), 2 deletions(-)
===================================================================
@@ -120,7 +120,6 @@ ctags_sources = set([
 tagmanager_sources = set([
     'tagmanager/src/tm_file_entry.c',
     'tagmanager/src/tm_source_file.c',
-    'tagmanager/src/tm_symbol.c',
     'tagmanager/src/tm_tag.c',
     'tagmanager/src/tm_tagmanager.c',
     'tagmanager/src/tm_work_object.c',
@@ -552,7 +551,7 @@ def build(bld):
     bld.install_files('${PREFIX}/include/geany/tagmanager', '''
         tagmanager/src/tm_file_entry.h
         tagmanager/src/tm_source_file.h tagmanager/src/tm_parser.h
-        tagmanager/src/tm_symbol.h tagmanager/src/tm_tag.h
+        tagmanager/src/tm_tag.h
         tagmanager/src/tm_tagmanager.h tagmanager/src/tm_work_object.h
         tagmanager/src/tm_workspace.h ''')
     # Docs



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