PageRenderTime 42ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Examples/test-suite/typemap_variables.i

#
Swig | 69 lines | 60 code | 9 blank | 0 comment | 0 complexity | 88736fed1864d280f93abae06ceb2a60 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. %module typemap_variables
  2. // Check typemap name matching rules for variables
  3. // Some of these are using qualified names, which is not right... the test will be adjusted as these get fixed
  4. #if defined(SWIGUTL)
  5. %{
  6. #define TYPEMAP_VARIABLES_FAIL SWIG_fail;
  7. %}
  8. #else
  9. %{
  10. #define TYPEMAP_VARIABLES_FAIL
  11. %}
  12. #endif
  13. // Scripting languages use varin/varout for variables (except non-static member variables where in/out are used ???)
  14. %typemap(varin) int "this_will_not_compile_varin "
  15. %typemap(varout) int "this_will_not_compile_varout"
  16. %typemap(varin) int globul "/*int globul varin */ TYPEMAP_VARIABLES_FAIL"
  17. %typemap(varout) int globul "/*int globul varout*/ $result=0;"
  18. %typemap(varin) int Space::nspace "/*int nspace varin */ TYPEMAP_VARIABLES_FAIL"
  19. %typemap(varout) int Space::nspace "/*int nspace varout*/ $result=0;"
  20. //%typemap(varin) int member "/*int member varin */"
  21. //%typemap(varout) int member "/*int member varout*/ $result=0;"
  22. %typemap(varin) int Space::Struct::smember "/*int smember varin */ TYPEMAP_VARIABLES_FAIL"
  23. %typemap(varout) int Space::Struct::smember "/*int smember varout*/ $result=0;"
  24. // Statically typed languages use in/out for variables
  25. %typemap(in) int "this_will_not_compile_in "
  26. %typemap(out) int "this_will_not_compile_out"
  27. %typemap(in) int globul "/*int globul in */ $1=0;"
  28. %typemap(out) int globul "/*int globul out*/ $result=0;"
  29. %typemap(in) int Space::nspace "/*int nspace in */ $1=0;"
  30. %typemap(out) int Space::nspace "/*int nspace out*/ $result=0;"
  31. %typemap(in) int member "/*int member in */ $1=0;"
  32. #ifdef SWIGTCL
  33. %typemap(out) int member "/*int member out*/"
  34. #else
  35. %typemap(out) int member "/*int member out*/ $result=0;"
  36. #endif
  37. %typemap(in) int Space::Struct::smember "/*int smember in */ $1=0;"
  38. %typemap(out) int Space::Struct::smember "/*int smember out*/ $result=0;"
  39. %typemap(javain) int "this_will_not_compile_javain "
  40. %typemap(javaout) int "this_will_not_compile_javaout"
  41. %typemap(javain) int globul "/*int globul in */ $javainput"
  42. %typemap(javaout) int globul "/*int globul out*/ { return $jnicall; }"
  43. %typemap(javain) int Space::nspace "/*int nspace in */ $javainput"
  44. %typemap(javaout) int Space::nspace "/*int nspace out*/ { return $jnicall; }"
  45. %typemap(javain) int member "/*int member in */ $javainput"
  46. %typemap(javaout) int member "/*int member out*/ { return $jnicall; }"
  47. %typemap(javain) int Space::Struct::smember "/*int smember in */ $javainput"
  48. %typemap(javaout) int Space::Struct::smember "/*int smember out*/ { return $jnicall; }"
  49. %inline %{
  50. int globul;
  51. namespace Space {
  52. int nspace;
  53. struct Struct {
  54. int member;
  55. static int smember;
  56. // static short memberfunction() { return 0; } //javaout and jstype typemaps don't use fully qualified name, but other typemaps do
  57. };
  58. int Struct::smember = 0;
  59. }
  60. %}