summaryrefslogtreecommitdiff
path: root/Examples/test-suite/director_frob.i
diff options
context:
space:
mode:
authorMarcelo Matus <mmatus@acms.arizona.edu>2004-01-22 00:41:37 +0000
committerMarcelo Matus <mmatus@acms.arizona.edu>2004-01-22 00:41:37 +0000
commite524a03a55478047fde7e9380f49f2a2047be456 (patch)
tree1d5aa72bfab5f79f7f38763a0c2a1b831e4fb3a9 /Examples/test-suite/director_frob.i
parente810800783031546e41661d7b7d0e63c5abbbb80 (diff)
downloadswig-e524a03a55478047fde7e9380f49f2a2047be456.tar.gz
using better names for frob
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5664 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'Examples/test-suite/director_frob.i')
-rw-r--r--Examples/test-suite/director_frob.i39
1 files changed, 39 insertions, 0 deletions
diff --git a/Examples/test-suite/director_frob.i b/Examples/test-suite/director_frob.i
new file mode 100644
index 000000000..ebfa76d25
--- /dev/null
+++ b/Examples/test-suite/director_frob.i
@@ -0,0 +1,39 @@
+%module(directors="1") frob;
+
+%header %{
+#include <iostream>
+%}
+
+%feature("director");
+%feature("nodirector") Bravo::abs_method(); // ok
+%feature("director") Charlie::abs_method(); // ok
+%feature("nodirector") Delta::abs_method(); // doesn't work
+
+%inline %{
+
+ struct Alpha
+ {
+ virtual ~Alpha() { };
+ virtual const char* abs_method() = 0;
+ };
+
+ struct Bravo : Alpha
+ {
+ const char* abs_method()
+ {
+ return "Bravo::abs_method()";
+ }
+ };
+
+ struct Charlie : Bravo
+ {
+ const char* abs_method()
+ {
+ return "Charlie::abs_method()";
+ }
+ };
+
+ struct Delta : Charlie
+ {
+ };
+%}