1 // This module tests multiple inheritance, typedef handling, and some
2 // truly horrible parts of the SWIG type system. This is only tested
3 // for Python since not all language modules support multiple-inheritance.
4 // However, if it works for Python, things should be working for other
7 %module(ruby_minherit="1") minherit
9 #if defined(SWIGPYTHON) || defined(SWIGRUBY) || defined(SWIGOCAML) || defined(SWIGOCTAVE) || defined(SWIGPERL)
19 virtual int xget() { return x; };
23 FooPtr toFooPtr(Foo *f) { return f; }
31 virtual int yget() { return y; }
35 BarPtr toBarPtr(Bar *f) { return f; }
37 class FooBar : public Foo, public Bar {
42 virtual int zget() { return z; }
45 typedef FooBar *FooBarPtr;
46 FooBarPtr toFooBarPtr(FooBar *f) { return f; }
48 class Spam: public FooBar {
53 virtual int wget() { return w; }
56 typedef Spam *SpamPtr;
57 SpamPtr toSpamPtr(Spam *f) { return f; }
67 int zget(FooBarPtr f) {