aboutsummaryrefslogtreecommitdiff
path: root/Examples/test-suite/multiple_inheritance_nspace.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/test-suite/multiple_inheritance_nspace.i')
-rw-r--r--Examples/test-suite/multiple_inheritance_nspace.i41
1 files changed, 35 insertions, 6 deletions
diff --git a/Examples/test-suite/multiple_inheritance_nspace.i b/Examples/test-suite/multiple_inheritance_nspace.i
index 4faef5749..f82285fcf 100644
--- a/Examples/test-suite/multiple_inheritance_nspace.i
+++ b/Examples/test-suite/multiple_inheritance_nspace.i
@@ -1,9 +1,8 @@
// This is a copy of the multiple_inheritance_abstract test
-%module multiple_inheritance_nspace
+%module(ruby_minherit="1") multiple_inheritance_nspace
-%warnfilter(SWIGWARN_RUBY_MULTIPLE_INHERITANCE,
- SWIGWARN_D_MULTIPLE_INHERITANCE,
- SWIGWARN_PHP_MULTIPLE_INHERITANCE); /* languages not supporting multiple inheritance or %interface */
+%warnfilter(SWIGWARN_D_MULTIPLE_INHERITANCE,
+ SWIGWARN_PHP_MULTIPLE_INHERITANCE); /* languages not supporting multiple inheritance */
// nspace feature only supported by these languages
#if defined(SWIGJAVA) || defined(SWIGCSHARP) || defined(SWIGD) || defined(SWIGLUA) || defined(SWIGJAVASCRIPT)
@@ -11,7 +10,7 @@
#endif
#if defined(SWIGJAVA) || defined(SWIGCSHARP)
-%include "swiginterface.i"
+%include <swiginterface.i>
%interface(Space::ABase1)
%interface(Space::CBase1)
%interface(Space::CBase2)
@@ -32,7 +31,7 @@ namespace Space {
struct CBase1 {
virtual void cbase1x() {
return;
- }
+ }
virtual int cbase1y() {
return 1;
}
@@ -316,6 +315,36 @@ namespace Space {
return d;
}
+ // Return const pointer references
+ CBase1 *const&MakeConstPtrRefDerived1_CBase1() {
+ static CBase1 *d = new Derived1();
+ return d;
+ }
+ CBase2 *const&MakeConstPtrRefDerived1_CBase2() {
+ static CBase2 *const& d = new Derived1();
+ return d;
+ }
+ CBase1 *const&MakeConstPtrRefDerived2_CBase1() {
+ static CBase1 *const& d = new Derived2();
+ return d;
+ }
+ ABase1 *const&MakeConstPtrRefDerived2_ABase1() {
+ static ABase1 *const& d = new Derived2();
+ return d;
+ }
+ ABase1 *const&MakeConstPtrRefDerived3_ABase1() {
+ static ABase1 *const& d = new Derived3();
+ return d;
+ }
+ CBase1 *const&MakeConstPtrRefDerived3_CBase1() {
+ static CBase1 *const& d = new Derived3();
+ return d;
+ }
+ CBase2 *const&MakeConstPtrRefDerived3_CBase2() {
+ static CBase2 *const& d = new Derived3();
+ return d;
+ }
+
// Return by value (sliced objects)
CBase1 MakeValDerived1_CBase1() {
return Derived1();