diff options
Diffstat (limited to 'Examples/test-suite/csharp_typemaps.i')
-rw-r--r-- | Examples/test-suite/csharp_typemaps.i | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Examples/test-suite/csharp_typemaps.i b/Examples/test-suite/csharp_typemaps.i index dc5b40c02..a73f01c44 100644 --- a/Examples/test-suite/csharp_typemaps.i +++ b/Examples/test-suite/csharp_typemaps.i @@ -136,3 +136,42 @@ namespace Glob { bool MVar::svar = false; %} +// $imfuncname substitution +%typemap(csout) int imfuncname_test { + return $modulePINVOKE.$imfuncname(swigCPtr) + 123; + } +%typemap(csout) int imfuncname_static_test { + return $modulePINVOKE.$imfuncname() + 234; + } +%typemap(csout) int imfuncname_global_test { + return $modulePINVOKE.$imfuncname() + 345; + } + +%typemap(csvarout, excode=SWIGEXCODE2) int variab %{ + get { + int ret = $modulePINVOKE.$imfuncname(swigCPtr) + 222;$excode + return ret; + } %} +%typemap(csvarin, excode=SWIGEXCODE2) int variab %{ + set { + $modulePINVOKE.$imfuncname(swigCPtr, value + 111);$excode + } %} + +%typemap(csvarout, excode=SWIGEXCODE2) int global_variab %{ + get { + int ret = $modulePINVOKE.$imfuncname() + 333;$excode + return ret; + } %} +%typemap(csvarin, excode=SWIGEXCODE2) int global_variab %{ + set { + $modulePINVOKE.$imfuncname(value + 444);$excode + } %} +%inline %{ +struct ProxyA { + int imfuncname_test() { return 0; } + static int imfuncname_static_test() { return 0; } + int variab; +}; +int imfuncname_global_test() { return 0; } +int global_variab; +%} |