Add support for in the out typemaps.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9885 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2007-08-09 22:17:12 +00:00
commit aa32a6b094
3 changed files with 19 additions and 0 deletions

View file

@ -1,6 +1,11 @@
Version 1.3.32 (in progress) Version 1.3.32 (in progress)
============================ ============================
08/09/2007: wsfulton
[C#, Java] Add support for $owner in the "out" typemaps like in the the scripting
language modules. Note that $owner has always been supported in the "javaout" / "csout"
typemaps.
08/01/2007: wsfulton 08/01/2007: wsfulton
Fix smart pointer handling for classes that have templated methods within the smart Fix smart pointer handling for classes that have templated methods within the smart
pointer type. Problem reported by craigdo at ee.washington.edu. pointer type. Problem reported by craigdo at ee.washington.edu.

View file

@ -914,6 +914,12 @@ public:
Replaceall(tm, "$source", "result"); /* deprecated */ Replaceall(tm, "$source", "result"); /* deprecated */
Replaceall(tm, "$target", "jresult"); /* deprecated */ Replaceall(tm, "$target", "jresult"); /* deprecated */
Replaceall(tm, "$result", "jresult"); Replaceall(tm, "$result", "jresult");
if (GetFlag(n, "feature:new"))
Replaceall(tm, "$owner", "1");
else
Replaceall(tm, "$owner", "0");
Printf(f->code, "%s", tm); Printf(f->code, "%s", tm);
null_attribute = Getattr(n, "tmap:out:null"); null_attribute = Getattr(n, "tmap:out:null");
if (Len(tm)) if (Len(tm))
@ -3314,6 +3320,7 @@ public:
&& (tm = Getattr(p, "tmap:directorin"))) { && (tm = Getattr(p, "tmap:directorin"))) {
Replaceall(tm, "$input", arg); Replaceall(tm, "$input", arg);
Replaceall(tm, "$owner", "0");
if (Len(tm)) if (Len(tm))
if (!ignored_method) if (!ignored_method)

View file

@ -994,6 +994,12 @@ public:
Replaceall(tm, "$source", "result"); /* deprecated */ Replaceall(tm, "$source", "result"); /* deprecated */
Replaceall(tm, "$target", "jresult"); /* deprecated */ Replaceall(tm, "$target", "jresult"); /* deprecated */
Replaceall(tm, "$result", "jresult"); Replaceall(tm, "$result", "jresult");
if (GetFlag(n, "feature:new"))
Replaceall(tm, "$owner", "1");
else
Replaceall(tm, "$owner", "0");
Printf(f->code, "%s", tm); Printf(f->code, "%s", tm);
if (Len(tm)) if (Len(tm))
Printf(f->code, "\n"); Printf(f->code, "\n");
@ -3459,6 +3465,7 @@ public:
Delete(jni_canon); Delete(jni_canon);
Replaceall(tm, "$input", arg); Replaceall(tm, "$input", arg);
Replaceall(tm, "$owner", "0");
if (Len(tm)) if (Len(tm))
if (!ignored_method) if (!ignored_method)