Add warnings for badly named destructors. Fix %extend and destructors for templates - they weren't always being wrapped. Fix destructor "name" attribute.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12804 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
7d359b7895
commit
4c6f66577a
10 changed files with 226 additions and 28 deletions
|
|
@ -20,20 +20,21 @@ namespace Space {
|
|||
typedef struct {
|
||||
int ivar;
|
||||
} DStruct;
|
||||
|
||||
}
|
||||
|
||||
typedef struct tagEStruct {
|
||||
int ivar;
|
||||
} EStruct;
|
||||
|
||||
namespace Space {
|
||||
template<typename T>
|
||||
struct FFStruct {
|
||||
int ivar;
|
||||
};
|
||||
}
|
||||
%}
|
||||
|
||||
%extend Junk {
|
||||
void thingy() {}
|
||||
}
|
||||
%inline %{
|
||||
struct Junk {};
|
||||
%}
|
||||
namespace Space {
|
||||
|
||||
%extend tagAStruct {
|
||||
|
|
@ -103,3 +104,22 @@ namespace Space {
|
|||
}
|
||||
}
|
||||
|
||||
namespace Space {
|
||||
%extend FFStruct {
|
||||
FFStruct(int ivar0) {
|
||||
Space::FFStruct<T> *s = new Space::FFStruct<T>();
|
||||
s->ivar = ivar0;
|
||||
global = ivar0;
|
||||
return s;
|
||||
}
|
||||
~FFStruct() {
|
||||
global = -$self->ivar;
|
||||
delete $self;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
%template(FStruct) Space::FFStruct<long>;
|
||||
%template(GStruct) Space::FFStruct<char>;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue