fix using + extend as reported by William
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8859 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
51d327f8a0
commit
e99a8a707f
3 changed files with 25 additions and 1 deletions
|
|
@ -854,7 +854,20 @@ class TypePass : private Dispatcher {
|
|||
if (!Getattr(nn,"sym:name")) Setattr(nn,"sym:name", symname);
|
||||
|
||||
if (!GetFlag(nn,"feature:ignore")) {
|
||||
Setattr(nn,"parms",CopyParmList(Getattr(c,"parms")));
|
||||
ParmList *parms = CopyParmList(Getattr(c,"parms"));
|
||||
Setattr(nn,"parms",parms);
|
||||
Delete(parms);
|
||||
if (Getattr(n,"feature:extend")) {
|
||||
String *ucode = NewStringf("{ self->%s(",Getattr(n,"uname"));
|
||||
for (ParmList *p = parms; p;) {
|
||||
StringAppend(ucode,HashGetAttr(p,k_name));
|
||||
p = nextSibling(p);
|
||||
if (p) StringAppend(ucode,",");
|
||||
}
|
||||
StringAppend(ucode,"); }");
|
||||
Setattr(nn,"code",ucode);
|
||||
Delete(ucode);
|
||||
}
|
||||
ParmList *throw_parm_list = Getattr(c,"throws");
|
||||
if (throw_parm_list)
|
||||
Setattr(nn,"throws",CopyParmList(throw_parm_list));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue