more smart pointers + extend fixes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6919 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
d13e837d8e
commit
70d3bde16b
2 changed files with 27 additions and 22 deletions
|
|
@ -99,6 +99,7 @@ public:
|
||||||
|
|
||||||
|
|
||||||
%inline %{
|
%inline %{
|
||||||
|
namespace foo {
|
||||||
|
|
||||||
class DFoo;
|
class DFoo;
|
||||||
|
|
||||||
|
|
@ -118,11 +119,12 @@ public:
|
||||||
public:
|
public:
|
||||||
void F(void) {};
|
void F(void) {};
|
||||||
};
|
};
|
||||||
|
}
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
|
||||||
%extend DFoo {
|
|
||||||
|
%extend foo::DFoo {
|
||||||
static int SExt(int i = 1) {return i;};
|
static int SExt(int i = 1) {return i;};
|
||||||
int Ext(int i = 2) {return i;};
|
int Ext(int i = 2) {return i;};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1083,14 +1083,17 @@ Language::staticmemberfunctionHandler(Node *n) {
|
||||||
String *cname, *mrename;
|
String *cname, *mrename;
|
||||||
|
|
||||||
if (!Extend) {
|
if (!Extend) {
|
||||||
String *sname = Getattr(Getattr(n,"cplus:staticbase"),"name");
|
Node *sb = Getattr(n,"cplus:staticbase");
|
||||||
|
String *sname = sb ? Getattr(sb,"name") : 0;
|
||||||
if (sname) {
|
if (sname) {
|
||||||
cname = NewStringf("%s::%s",sname,name);
|
cname = NewStringf("%s::%s",sname,name);
|
||||||
} else {
|
} else {
|
||||||
cname = NewStringf("%s::%s",ClassName,name);
|
cname = NewStringf("%s::%s",ClassName,name);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
cname = Copy(Swig_name_member(ClassPrefix,name));
|
String *mname = Swig_name_mangle(ClassName);
|
||||||
|
cname = Swig_name_member(mname,name);
|
||||||
|
Delete(mname);
|
||||||
}
|
}
|
||||||
mrename = Swig_name_member(ClassPrefix, symname);
|
mrename = Swig_name_member(ClassPrefix, symname);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue