From ed7f9ea925550f571994690f1ddcebcbd74e4496 Mon Sep 17 00:00:00 2001 From: Marcelo Matus Date: Sun, 3 Oct 2004 19:51:11 +0000 Subject: [PATCH] modify test to show problem with %extend+overload git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6295 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- SWIG/Examples/test-suite/extend_placement.i | 18 ++++++++++++++---- .../python/extend_placement_runme.py | 10 ++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 SWIG/Examples/test-suite/python/extend_placement_runme.py 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)