add Swig_scopename_split
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7907 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
a1d10b8e39
commit
42a2d35e9a
4 changed files with 82 additions and 26 deletions
|
|
@ -606,7 +606,7 @@ SwigType *SwigType_typedef_resolve(SwigType *t) {
|
|||
/* Didn't find in this scope. We need to do a little more searching */
|
||||
if (Swig_scopename_check(base)) {
|
||||
/* A qualified name. */
|
||||
nameprefix = Swig_scopename_prefix(base);
|
||||
Swig_scopename_split(base, &nameprefix, &namebase);
|
||||
#ifdef SWIG_DEBUG
|
||||
Printf(stdout,"nameprefix = '%s'\n", nameprefix);
|
||||
#endif
|
||||
|
|
@ -617,12 +617,12 @@ SwigType *SwigType_typedef_resolve(SwigType *t) {
|
|||
/* Couldn't locate a scope for the type. */
|
||||
if (!s) {
|
||||
Delete(base);
|
||||
Delete(namebase);
|
||||
Delete(nameprefix);
|
||||
r = 0;
|
||||
goto return_result;
|
||||
}
|
||||
/* Try to locate the name starting in the scope */
|
||||
namebase = Swig_scopename_last(base);
|
||||
#ifdef SWIG_DEBUG
|
||||
Printf(stdout,"namebase = '%s'\n", namebase);
|
||||
#endif
|
||||
|
|
@ -714,8 +714,6 @@ SwigType *SwigType_typedef_resolve(SwigType *t) {
|
|||
}
|
||||
if (namebase) Delete(namebase);
|
||||
if (nameprefix) Delete(nameprefix);
|
||||
namebase = 0;
|
||||
nameprefix = 0;
|
||||
} else {
|
||||
if (SwigType_isfunction(base)) {
|
||||
List *parms;
|
||||
|
|
@ -888,18 +886,18 @@ SwigType *SwigType_typedef_qualified(SwigType *t)
|
|||
}
|
||||
} else {
|
||||
if (Swig_scopename_check(e)) {
|
||||
String *tqname;
|
||||
String *qlast;
|
||||
String *qname = Swig_scopename_prefix(e);
|
||||
String *qname;
|
||||
Swig_scopename_split(e, &qname, &qlast);
|
||||
if (qname) {
|
||||
qlast = Swig_scopename_last(e);
|
||||
tqname = SwigType_typedef_qualified(qname);
|
||||
String *tqname = SwigType_typedef_qualified(qname);
|
||||
Clear(e);
|
||||
Printf(e,"%s::%s", tqname, qlast);
|
||||
Delete(qname);
|
||||
Delete(qlast);
|
||||
Delete(tqname);
|
||||
}
|
||||
Delete(qlast);
|
||||
|
||||
/* Automatic template instantiation might go here??? */
|
||||
} else {
|
||||
/* It's a bare name. It's entirely possible, that the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue