| %module(ruby_minherit="1") using_extend | |
| %warnfilter(SWIGWARN_JAVA_MULTIPLE_INHERITANCE, | |
| SWIGWARN_CSHARP_MULTIPLE_INHERITANCE, | |
| SWIGWARN_D_MULTIPLE_INHERITANCE, | |
| SWIGWARN_PHP_MULTIPLE_INHERITANCE) FooBar; // C#, D, 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; | |
| } | |