diff --git a/SWIG/Examples/test-suite/extend_placement.i b/SWIG/Examples/test-suite/extend_placement.i index 7547247f0..5f2dcfeea 100644 --- a/SWIG/Examples/test-suite/extend_placement.i +++ b/SWIG/Examples/test-suite/extend_placement.i @@ -5,24 +5,34 @@ // Before the class %extend Foo { - Foo() { return new Foo(); } + Foo(int a) { return new Foo(); } ~Foo() { delete self;} int spam(int x) { return x; } }; %inline %{ -class Foo { }; +class Foo { +public: + Foo(){} + + int spam() { return 1; } + int spam(const char* c) { return 2; } +}; %} // After the class %inline %{ -class Bar { }; +class Bar { +public: + int spam() { return 1; } + int spam(const char* c) { return 2; } +}; %} %extend Bar { Bar() { return new Bar(); } ~Bar() { delete self;} - int spam(int x) { return x; } + // int spam(int x) { return x; } }; diff --git a/SWIG/Examples/test-suite/python/extend_placement_runme.py b/SWIG/Examples/test-suite/python/extend_placement_runme.py new file mode 100644 index 000000000..b66b04dd5 --- /dev/null +++ b/SWIG/Examples/test-suite/python/extend_placement_runme.py @@ -0,0 +1,10 @@ +import extend_placement +import types + +foo = extend_placement.Foo(1) +print type(foo) +print foo.spam() +print foo.spam("hello") + +foo = extend_placement.Foo(1) +print type(foo)