Namespace functions as well; Remove :: from tl elements
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13332 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
cfabfd92d2
commit
433a1743ab
1 changed files with 9 additions and 3 deletions
|
|
@ -111,6 +111,7 @@ public:
|
||||||
goto _get_proxyname_return;
|
goto _get_proxyname_return;
|
||||||
|
|
||||||
if (nspace) {
|
if (nspace) {
|
||||||
|
Replaceall(nspace, ".", "_"); // Classes' namespaces get dotted -> replace; FIXME in core!
|
||||||
proxyname = Swig_name_proxy(nspace, symname);
|
proxyname = Swig_name_proxy(nspace, symname);
|
||||||
if (tl_namespace)
|
if (tl_namespace)
|
||||||
proxyname = Swig_name_proxy(tl_namespace, proxyname);
|
proxyname = Swig_name_proxy(tl_namespace, proxyname);
|
||||||
|
|
@ -402,6 +403,9 @@ public:
|
||||||
String *arg_list = NewString("");
|
String *arg_list = NewString("");
|
||||||
String *call = empty_string;
|
String *call = empty_string;
|
||||||
String *cres = empty_string;
|
String *cres = empty_string;
|
||||||
|
String *nspaced_symname = Swig_name_mangle(Getattr(n, "name"));
|
||||||
|
|
||||||
|
Setattr(n, "sym:name", nspaced_symname);
|
||||||
|
|
||||||
call = Swig_cfunction_call(Getattr(n, "name"), parms);
|
call = Swig_cfunction_call(Getattr(n, "name"), parms);
|
||||||
cres = Swig_cresult(type, "result", call);
|
cres = Swig_cresult(type, "result", call);
|
||||||
|
|
@ -768,8 +772,10 @@ ready:
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Printv(proxy_parm_type, c_parm_type, NIL);
|
Printv(proxy_parm_type, c_parm_type, NIL);
|
||||||
//FIXME: implement "convert_to_c_namespace"?
|
// Add namespace
|
||||||
Replaceall(proxy_parm_type, "::", "_");
|
Replaceall(proxy_parm_type, "::", "_"); // FIXME: implement "convert_to_c_namespace"?
|
||||||
|
if (strncmp(Char(proxy_parm_type), "_", 1) == 0) // Remove top level namespacing if necessary
|
||||||
|
Replace(proxy_parm_type, "_", "", DOH_REPLACE_FIRST);
|
||||||
}
|
}
|
||||||
|
|
||||||
Printv(proto, gencomma ? ", " : "", proxy_parm_type, " ", arg_name, NIL);
|
Printv(proto, gencomma ? ", " : "", proxy_parm_type, " ", arg_name, NIL);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue