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
This commit is contained in:
parent
29a30e2dcc
commit
e7f9a34649
1 changed files with 10 additions and 1 deletions
|
|
@ -543,7 +543,7 @@ Swig_features_get(Hash *features, String *prefix, String *name, SwigType *decl,
|
||||||
DOH *rn = 0;
|
DOH *rn = 0;
|
||||||
Hash *n;
|
Hash *n;
|
||||||
char *ncdecl = 0;
|
char *ncdecl = 0;
|
||||||
|
SwigType *rname = 0;
|
||||||
if (!features) return;
|
if (!features) return;
|
||||||
|
|
||||||
if ((decl) && (SwigType_isqualifier(decl))) {
|
if ((decl) && (SwigType_isqualifier(decl))) {
|
||||||
|
|
@ -551,6 +551,14 @@ Swig_features_get(Hash *features, String *prefix, String *name, SwigType *decl,
|
||||||
ncdecl++;
|
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) {
|
if (name) {
|
||||||
/* Perform a class-based lookup (if class prefix supplied) */
|
/* Perform a class-based lookup (if class prefix supplied) */
|
||||||
if (prefix) {
|
if (prefix) {
|
||||||
|
|
@ -619,6 +627,7 @@ Swig_features_get(Hash *features, String *prefix, String *name, SwigType *decl,
|
||||||
rn = get_object(n,0);
|
rn = get_object(n,0);
|
||||||
merge_features(rn,node);
|
merge_features(rn,node);
|
||||||
|
|
||||||
|
Delete(rname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue