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:
William S Fulton 2011-09-13 06:15:29 +00:00
commit 4c6f66577a
10 changed files with 226 additions and 28 deletions

View file

@ -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>;