diff options
Diffstat (limited to 'Examples/test-suite/using_extend.i')
| -rw-r--r-- | Examples/test-suite/using_extend.i | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Examples/test-suite/using_extend.i b/Examples/test-suite/using_extend.i new file mode 100644 index 0000000..e14cc28 --- /dev/null +++ b/Examples/test-suite/using_extend.i @@ -0,0 +1,51 @@ +%module(ruby_minherit="1") using_extend + +%warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE, + SWIGWARN_CSHARP_MULTIPLE_INHERITANCE, + SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar; // C#, Java, PHP multiple inheritance +#ifdef SWIGLUA // lua only has one numeric type, so some overloads shadow each other creating warnings +%warnfilter(SWIGWARN_LANG_OVERLOAD_SHADOW) blah; +#endif + +%extend Foo { + int blah(int x, int y) { + return x+y; + } +}; + +%extend Bar { + double blah(double x, double y) { + return x+y; + } +}; + +%inline %{ +class Foo { +public: + int blah(int x) { return x; } + char *blah(char *x) { return x; } +}; + +class Bar { +public: + int duh1() { return 1; } + int duh(int x) { return x; } + double blah(double x) { return x; } +}; + +class FooBar : public Foo, public Bar { +public: + using Foo::blah; + using Bar::blah; + char *blah(char *x) { return x; } +}; + +%} + +%extend FooBar +{ + using Bar::duh1; + using Bar::duh; +} + + |
