aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/evil_diamond_prop.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/evil_diamond_prop.i')
-rw-r--r--Examples/test-suite/evil_diamond_prop.i36
1 files changed, 36 insertions, 0 deletions
diff --git a/Examples/test-suite/evil_diamond_prop.i b/Examples/test-suite/evil_diamond_prop.i
new file mode 100644
index 000000000..d28a57ca2
--- /dev/null
+++ b/Examples/test-suite/evil_diamond_prop.i
@@ -0,0 +1,36 @@
+%module evil_diamond_prop
+
+%warnfilter(801) foo; // Ruby, wrong class name
+%warnfilter(801) bar; // Ruby, wrong class name
+%warnfilter(801) baz; // Ruby, wrong class name
+%warnfilter(801,802,813) spam; // Ruby, wrong class name; Ruby & Java, multiple inheritance
+
+%inline %{
+
+class foo {
+ public:
+ int _foo;
+ foo() : _foo(1) {}
+};
+
+class bar : public foo {
+ public:
+ int _bar;
+ bar() : _bar(2) {}
+};
+
+class baz : public foo {
+ public:
+ int _baz;
+ baz() : _baz(3) {}
+};
+
+class spam : public bar, public baz {
+ public:
+ int _spam;
+ spam() : _spam(4) {}
+};
+
+foo *test(foo *f) { return f; }
+%}
+