From e7f9a3464962dbc05a783824c4f72f4b86195fa0 Mon Sep 17 00:00:00 2001 From: Marcelo Matus Date: Wed, 31 Mar 2004 11:29:54 +0000 Subject: [PATCH] slightly better support for template const/dest and features git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5811 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Source/Swig/naming.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Source/Swig/naming.c b/Source/Swig/naming.c index b1fec002d..f0725b819 100644 --- a/Source/Swig/naming.c +++ b/Source/Swig/naming.c @@ -543,13 +543,21 @@ Swig_features_get(Hash *features, String *prefix, String *name, SwigType *decl, DOH *rn = 0; Hash *n; char *ncdecl = 0; - + SwigType *rname = 0; if (!features) return; if ((decl) && (SwigType_isqualifier(decl))) { ncdecl = strchr(Char(decl),'.'); ncdecl++; } + + /* very specific hack for template constructors/destructors */ + if (name && SwigType_istemplate(name) && + ((Strcmp(nodeType(node),"constructor") == 0) + || (Strcmp(nodeType(node),"destructor") == 0))) { + rname = SwigType_templateprefix(name); + name = rname; + } if (name) { /* Perform a class-based lookup (if class prefix supplied) */ @@ -619,6 +627,7 @@ Swig_features_get(Hash *features, String *prefix, String *name, SwigType *decl, rn = get_object(n,0); merge_features(rn,node); + Delete(rname); }