New typemaps: javadestruct_base and javadestruct_derived

for the C++ destructor wrapper. The _base version gets used by
classes at the top of an inheritance chain and the _derived
version gets used by other classes.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4876 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2003-06-10 21:40:26 +00:00
commit 9cccf88afa
2 changed files with 48 additions and 17 deletions

View file

@ -685,6 +685,23 @@
}
%}
%typemap(javadestruct_base) SWIGTYPE {
if(swigCPtr != 0 && swigCMemOwn) {
$jnicall;
swigCMemOwn = false;
}
swigCPtr = 0;
}
%typemap(javadestruct_derived) SWIGTYPE {
if(swigCPtr != 0 && swigCMemOwn) {
$jnicall;
swigCMemOwn = false;
}
swigCPtr = 0;
super.delete();
}
%typemap(javagetcptr) SWIGTYPE, SWIGTYPE *, SWIGTYPE &, SWIGTYPE [], SWIGTYPE (CLASS::*) %{
protected static long getCPtr($javaclassname obj) {
return (obj == null) ? 0 : obj.swigCPtr;