From 9f0e7885ced465c3cd9de5e8d4ce8c6c8bd4f22f Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Mon, 29 Feb 2016 07:11:05 +0000 Subject: [PATCH] Properly hide unexposed naming functions in naming.c --- Source/Swig/naming.c | 98 +++++++++++++++++++++----------------------- Source/Swig/swig.h | 2 - 2 files changed, 47 insertions(+), 53 deletions(-) diff --git a/Source/Swig/naming.c b/Source/Swig/naming.c index 2d1effa18..2430ab407 100644 --- a/Source/Swig/naming.c +++ b/Source/Swig/naming.c @@ -466,8 +466,7 @@ static DOH *get_object(Hash *n, String *decl) { return rn; } -static -DOH *name_object_get(Hash *namehash, String *tname, SwigType *decl, SwigType *ncdecl) { +static DOH *name_object_get(Hash *namehash, String *tname, SwigType *decl, SwigType *ncdecl) { DOH *rn = 0; Hash *n = Getattr(namehash, tname); if (n) { @@ -646,8 +645,7 @@ static void merge_features(Hash *features, Node *n) { * the declaration, decl. * ----------------------------------------------------------------------------- */ -static -void features_get(Hash *features, const String *tname, SwigType *decl, SwigType *ncdecl, Node *node) { +static void features_get(Hash *features, const String *tname, SwigType *decl, SwigType *ncdecl, Node *node) { Node *n = Getattr(features, tname); #ifdef SWIG_DEBUG Printf(stdout, " features_get: %s\n", tname); @@ -844,41 +842,41 @@ void Swig_feature_set(Hash *features, const_String_or_char_ptr name, SwigType *d * ----------------------------------------------------------------------------- */ static Hash *namewarn_hash = 0; -Hash *Swig_name_namewarn_hash() { +static Hash *name_namewarn_hash() { if (!namewarn_hash) namewarn_hash = NewHash(); return namewarn_hash; } static Hash *rename_hash = 0; -Hash *Swig_name_rename_hash() { +static Hash *name_rename_hash() { if (!rename_hash) rename_hash = NewHash(); return rename_hash; } static List *namewarn_list = 0; -List *Swig_name_namewarn_list() { +static List *name_namewarn_list() { if (!namewarn_list) namewarn_list = NewList(); return namewarn_list; } static List *rename_list = 0; -List *Swig_name_rename_list() { +static List *name_rename_list() { if (!rename_list) rename_list = NewList(); return rename_list; } /* ----------------------------------------------------------------------------- - * int Swig_need_name_warning(Node *n) + * int need_name_warning(Node *n) * * Detects if a node needs name warnings * * ----------------------------------------------------------------------------- */ -int Swig_need_name_warning(Node *n) { +static int need_name_warning(Node *n) { int need = 1; /* We don't use name warnings for: @@ -1061,13 +1059,13 @@ int Swig_need_protected(Node *n) { } /* ----------------------------------------------------------------------------- - * void Swig_name_nameobj_add() + * void name_nameobj_add() * * Add nameobj (rename/namewarn) * * ----------------------------------------------------------------------------- */ -static List *Swig_make_attrlist(const char *ckey) { +static List *make_attrlist(const char *ckey) { List *list = NewList(); const char *cattr = strchr(ckey, '$'); if (cattr) { @@ -1089,7 +1087,7 @@ static List *Swig_make_attrlist(const char *ckey) { return list; } -static void Swig_name_object_attach_keys(const char *keys[], Hash *nameobj) { +static void name_object_attach_keys(const char *keys[], Hash *nameobj) { Node *kw = nextSibling(nameobj); List *matchlist = 0; while (kw) { @@ -1105,7 +1103,7 @@ static void Swig_name_object_attach_keys(const char *keys[], Hash *nameobj) { || (isregexmatch = (strncmp(ckey, "regexmatch", 10) == 0)) || (isnotmatch = isregexmatch = (strncmp(ckey, "notregexmatch", 13) == 0))) { Hash *mi = NewHash(); - List *attrlist = Swig_make_attrlist(ckey); + List *attrlist = make_attrlist(ckey); if (!matchlist) matchlist = NewList(); Setattr(mi, "value", Getattr(kw, "value")); @@ -1135,7 +1133,7 @@ static void Swig_name_object_attach_keys(const char *keys[], Hash *nameobj) { } } -void Swig_name_nameobj_add(Hash *name_hash, List *name_list, String *prefix, String *name, SwigType *decl, Hash *nameobj) { +static void name_nameobj_add(Hash *name_hash, List *name_list, String *prefix, String *name, SwigType *decl, Hash *nameobj) { String *nname = 0; if (name && Len(name)) { String *target_fmt = Getattr(nameobj, "targetfmt"); @@ -1164,13 +1162,13 @@ void Swig_name_nameobj_add(Hash *name_hash, List *name_list, String *prefix, Str } /* ----------------------------------------------------------------------------- - * int Swig_name_match_nameobj() + * int name_match_nameobj() * * Apply and check the nameobj's math list to the node * * ----------------------------------------------------------------------------- */ -static DOH *Swig_get_lattr(Node *n, List *lattr) { +static DOH *get_lattr(Node *n, List *lattr) { DOH *res = 0; int ilen = Len(lattr); int i; @@ -1192,7 +1190,7 @@ static DOH *Swig_get_lattr(Node *n, List *lattr) { #ifdef HAVE_PCRE #include -int Swig_name_regexmatch_value(Node *n, String *pattern, String *s) { +static int name_regexmatch_value(Node *n, String *pattern, String *s) { pcre *compiled_pat; const char *err; int errpos; @@ -1224,7 +1222,7 @@ int Swig_name_regexmatch_value(Node *n, String *pattern, String *s) { #else /* !HAVE_PCRE */ -int Swig_name_regexmatch_value(Node *n, String *pattern, String *s) { +static int name_regexmatch_value(Node *n, String *pattern, String *s) { (void)pattern; (void)s; Swig_error("SWIG", Getline(n), @@ -1234,7 +1232,7 @@ int Swig_name_regexmatch_value(Node *n, String *pattern, String *s) { #endif /* HAVE_PCRE/!HAVE_PCRE */ -int Swig_name_match_value(String *mvalue, String *value) { +static int name_match_value(String *mvalue, String *value) { #if defined(SWIG_USE_SIMPLE_MATCHOR) int match = 0; char *cvalue = Char(value); @@ -1260,12 +1258,11 @@ int Swig_name_match_value(String *mvalue, String *value) { #endif } - -int Swig_name_match_nameobj(Hash *rn, Node *n) { +static int name_match_nameobj(Hash *rn, Node *n) { int match = 1; List *matchlist = Getattr(rn, "matchlist"); #ifdef SWIG_DEBUG - Printf(stdout, "Swig_name_match_nameobj: %s\n", Getattr(n, "name")); + Printf(stdout, "name_match_nameobj: %s\n", Getattr(n, "name")); #endif if (matchlist) { int ilen = Len(matchlist); @@ -1273,14 +1270,14 @@ int Swig_name_match_nameobj(Hash *rn, Node *n) { for (i = 0; match && (i < ilen); ++i) { Node *mi = Getitem(matchlist, i); List *lattr = Getattr(mi, "attrlist"); - String *nval = Swig_get_lattr(n, lattr); + String *nval = get_lattr(n, lattr); int notmatch = GetFlag(mi, "notmatch"); int regexmatch = GetFlag(mi, "regexmatch"); match = 0; if (nval) { String *kwval = Getattr(mi, "value"); - match = regexmatch ? Swig_name_regexmatch_value(n, kwval, nval) - : Swig_name_match_value(kwval, nval); + match = regexmatch ? name_regexmatch_value(n, kwval, nval) + : name_match_value(kwval, nval); #ifdef SWIG_DEBUG Printf(stdout, "val %s %s %d %d \n", nval, kwval, match, ilen); #endif @@ -1290,19 +1287,19 @@ int Swig_name_match_nameobj(Hash *rn, Node *n) { } } #ifdef SWIG_DEBUG - Printf(stdout, "Swig_name_match_nameobj: %d\n", match); + Printf(stdout, "name_match_nameobj: %d\n", match); #endif return match; } /* ----------------------------------------------------------------------------- - * Hash *Swig_name_nameobj_lget() + * Hash *name_nameobj_lget() * * Get a nameobj (rename/namewarn) from the list of filters * * ----------------------------------------------------------------------------- */ -Hash *Swig_name_nameobj_lget(List *namelist, Node *n, String *prefix, String *name, String *decl) { +static Hash *name_nameobj_lget(List *namelist, Node *n, String *prefix, String *name, String *decl) { Hash *res = 0; if (namelist) { int len = Len(namelist); @@ -1313,7 +1310,7 @@ Hash *Swig_name_nameobj_lget(List *namelist, Node *n, String *prefix, String *na String *rdecl = Getattr(rn, "decl"); if (rdecl && (!decl || !Equal(rdecl, decl))) { continue; - } else if (Swig_name_match_nameobj(rn, n)) { + } else if (name_match_nameobj(rn, n)) { String *tname = Getattr(rn, "targetname"); if (tname) { String *sfmt = Getattr(rn, "sourcefmt"); @@ -1336,8 +1333,8 @@ Hash *Swig_name_nameobj_lget(List *namelist, Node *n, String *prefix, String *na DohIncref(name); } } - match = regextarget ? Swig_name_regexmatch_value(n, tname, sname) - : Swig_name_match_value(tname, sname); + match = regextarget ? name_regexmatch_value(n, tname, sname) + : name_match_value(tname, sname); Delete(sname); } else { /* Applying the renaming rule may fail if it contains a %(regex)s expression that doesn't match the given name. */ @@ -1367,23 +1364,23 @@ Hash *Swig_name_nameobj_lget(List *namelist, Node *n, String *prefix, String *na void Swig_name_namewarn_add(String *prefix, String *name, SwigType *decl, Hash *namewrn) { const char *namewrn_keys[] = { "rename", "error", "fullname", "sourcefmt", "targetfmt", 0 }; - Swig_name_object_attach_keys(namewrn_keys, namewrn); - Swig_name_nameobj_add(Swig_name_namewarn_hash(), Swig_name_namewarn_list(), prefix, name, decl, namewrn); + name_object_attach_keys(namewrn_keys, namewrn); + name_nameobj_add(name_namewarn_hash(), name_namewarn_list(), prefix, name, decl, namewrn); } /* ----------------------------------------------------------------------------- - * Hash *Swig_name_namewarn_get() + * Hash *name_namewarn_get() * * Return the namewarn object, if there is one. * * ----------------------------------------------------------------------------- */ -Hash *Swig_name_namewarn_get(Node *n, String *prefix, String *name, SwigType *decl) { +static Hash *name_namewarn_get(Node *n, String *prefix, String *name, SwigType *decl) { if (!namewarn_hash && !namewarn_list) return 0; if (n) { /* Return in the obvious cases */ - if (!name || !Swig_need_name_warning(n)) { + if (!name || !need_name_warning(n)) { return 0; } else { String *access = Getattr(n, "access"); @@ -1395,11 +1392,11 @@ Hash *Swig_name_namewarn_get(Node *n, String *prefix, String *name, SwigType *de } if (name) { /* Check to see if the name is in the hash */ - Hash *wrn = Swig_name_object_get(Swig_name_namewarn_hash(), prefix, name, decl); - if (wrn && !Swig_name_match_nameobj(wrn, n)) + Hash *wrn = Swig_name_object_get(name_namewarn_hash(), prefix, name, decl); + if (wrn && !name_match_nameobj(wrn, n)) wrn = 0; if (!wrn) { - wrn = Swig_name_nameobj_lget(Swig_name_namewarn_list(), n, prefix, name, decl); + wrn = name_nameobj_lget(name_namewarn_list(), n, prefix, name, decl); } if (wrn && Getattr(wrn, "error")) { if (n) { @@ -1422,7 +1419,7 @@ Hash *Swig_name_namewarn_get(Node *n, String *prefix, String *name, SwigType *de * ----------------------------------------------------------------------------- */ String *Swig_name_warning(Node *n, String *prefix, String *name, SwigType *decl) { - Hash *wrn = Swig_name_namewarn_get(n, prefix, name, decl); + Hash *wrn = name_namewarn_get(n, prefix, name, decl); return (name && wrn) ? Getattr(wrn, "name") : 0; } @@ -1434,7 +1431,7 @@ String *Swig_name_warning(Node *n, String *prefix, String *name, SwigType *decl) * ----------------------------------------------------------------------------- */ static void single_rename_add(String *prefix, String *name, SwigType *decl, Hash *newname) { - Swig_name_nameobj_add(Swig_name_rename_hash(), Swig_name_rename_list(), prefix, name, decl, newname); + name_nameobj_add(name_rename_hash(), name_rename_list(), prefix, name, decl, newname); } /* Add a new rename. Works much like new_feature including default argument handling. */ @@ -1443,7 +1440,7 @@ void Swig_name_rename_add(String *prefix, String *name, SwigType *decl, Hash *ne ParmList *declparms = declaratorparms; const char *rename_keys[] = { "fullname", "sourcefmt", "targetfmt", "continue", "regextarget", 0 }; - Swig_name_object_attach_keys(rename_keys, newname); + name_object_attach_keys(rename_keys, newname); /* Add the name */ single_rename_add(prefix, name, decl, newname); @@ -1556,11 +1553,10 @@ String *Swig_name_make(Node *n, String *prefix, const_String_or_char_ptr cname, } } - if (rename_hash || rename_list || namewarn_hash || namewarn_list) { - Hash *rn = Swig_name_object_get(Swig_name_rename_hash(), prefix, name, decl); - if (!rn || !Swig_name_match_nameobj(rn, n)) { - rn = Swig_name_nameobj_lget(Swig_name_rename_list(), n, prefix, name, decl); + Hash *rn = Swig_name_object_get(name_rename_hash(), prefix, name, decl); + if (!rn || !name_match_nameobj(rn, n)) { + rn = name_nameobj_lget(name_rename_list(), n, prefix, name, decl); if (rn) { String *sfmt = Getattr(rn, "sourcefmt"); int fullname = GetFlag(rn, "fullname"); @@ -1596,7 +1592,7 @@ String *Swig_name_make(Node *n, String *prefix, const_String_or_char_ptr cname, } } nname = result ? result : name; - wrn = Swig_name_namewarn_get(n, prefix, nname, decl); + wrn = name_namewarn_get(n, prefix, nname, decl); if (wrn) { String *rename = Getattr(wrn, "rename"); if (rename) { @@ -1641,14 +1637,14 @@ String *Swig_name_make(Node *n, String *prefix, const_String_or_char_ptr cname, /* ----------------------------------------------------------------------------- * void Swig_name_inherit() * - * Inherit namewarn,rename, and feature objects + * Inherit namewarn, rename, and feature objects * * ----------------------------------------------------------------------------- */ void Swig_name_inherit(String *base, String *derived) { /* Printf(stdout,"base = '%s', derived = '%s'\n", base, derived); */ - Swig_name_object_inherit(Swig_name_rename_hash(), base, derived); - Swig_name_object_inherit(Swig_name_namewarn_hash(), base, derived); + Swig_name_object_inherit(name_rename_hash(), base, derived); + Swig_name_object_inherit(name_namewarn_hash(), base, derived); Swig_name_object_inherit(Swig_cparse_features(), base, derived); } diff --git a/Source/Swig/swig.h b/Source/Swig/swig.h index becae9456..35a67640f 100644 --- a/Source/Swig/swig.h +++ b/Source/Swig/swig.h @@ -283,13 +283,11 @@ extern int ParmList_is_compactdefargs(ParmList *p); extern void Swig_naming_init(void); extern void Swig_name_namewarn_add(String *prefix, String *name, SwigType *decl, Hash *namewrn); - extern Hash *Swig_name_namewarn_get(Node *n, String *prefix, String *name, SwigType *decl); extern void Swig_name_rename_add(String *prefix, String *name, SwigType *decl, Hash *namewrn, ParmList *declaratorparms); extern void Swig_name_inherit(String *base, String *derived); extern List *Swig_make_inherit_list(String *clsname, List *names, String *Namespaceprefix); extern void Swig_inherit_base_symbols(List *bases); extern int Swig_need_protected(Node *n); - extern int Swig_need_name_warning(Node *n); extern int Swig_need_redefined_warn(Node *a, Node *b, int InClass); extern String *Swig_name_make(Node *n, String *prefix, const_String_or_char_ptr cname, SwigType *decl, String *oldname);