summaryrefslogtreecommitdiff
path: root/Examples
diff options
context:
space:
mode:
authorianlancetaylor <ian@airs.com>2014-11-17 08:28:07 -0800
committerianlancetaylor <ian@airs.com>2014-11-17 08:28:07 -0800
commitda7133aa8ee0883c0d598a08baed1682c144a39f (patch)
tree7bfb4f36c7c47d68f9255a0ae79dd5168af5ca06 /Examples
parent5617403d7e5d6de73b2da4b61ca9e026c087788a (diff)
parent3b3de5d477ea1bb28304d2cf08edf8ce0baabe17 (diff)
downloadswig-da7133aa8ee0883c0d598a08baed1682c144a39f.tar.gz
Merge pull request #235 from dontpanic92/master
Go: fix overload functions with polymorphic
Diffstat (limited to 'Examples')
-rw-r--r--Examples/test-suite/common.mk1
-rw-r--r--Examples/test-suite/go/overload_polymorphic_runme.go11
-rw-r--r--Examples/test-suite/overload_polymorphic.i22
3 files changed, 34 insertions, 0 deletions
diff --git a/Examples/test-suite/common.mk b/Examples/test-suite/common.mk
index f985b55d1..98e3fd1f2 100644
--- a/Examples/test-suite/common.mk
+++ b/Examples/test-suite/common.mk
@@ -310,6 +310,7 @@ CPP_TEST_CASES += \
overload_extend \
overload_method \
overload_numeric \
+ overload_polymorphic \
overload_rename \
overload_return_type \
overload_simple \
diff --git a/Examples/test-suite/go/overload_polymorphic_runme.go b/Examples/test-suite/go/overload_polymorphic_runme.go
new file mode 100644
index 000000000..1720e1a4d
--- /dev/null
+++ b/Examples/test-suite/go/overload_polymorphic_runme.go
@@ -0,0 +1,11 @@
+package main
+
+import "./overload_polymorphic"
+
+func main(){
+ t := overload_polymorphic.NewDerived()
+
+ if overload_polymorphic.Test(t) != 0 {
+ panic("failed")
+ }
+}
diff --git a/Examples/test-suite/overload_polymorphic.i b/Examples/test-suite/overload_polymorphic.i
new file mode 100644
index 000000000..a1f123b9d
--- /dev/null
+++ b/Examples/test-suite/overload_polymorphic.i
@@ -0,0 +1,22 @@
+%module overload_polymorphic
+
+%inline %{
+
+class Base {
+public:
+ Base(){}
+ virtual ~Base(){}
+};
+
+class Derived : public Base {
+public:
+ Derived(){}
+ virtual ~Derived(){}
+};
+
+
+
+int test(Base* base){ return 0;}
+int test(int hello){ return 1; }
+
+%}