Fix overloading of shared_ptr method overloading
Add 'equivalent' attribute to typecheck typemap. Closes #1098.
This commit is contained in:
parent
f5e1856650
commit
ed4b84f4d3
24 changed files with 378 additions and 15 deletions
|
|
@ -31,6 +31,7 @@ CPP_TEST_CASES = \
|
|||
CPP11_TEST_CASES = \
|
||||
cpp11_shared_ptr_const \
|
||||
cpp11_shared_ptr_nullptr_in_containers \
|
||||
cpp11_shared_ptr_overload \
|
||||
cpp11_shared_ptr_upcast \
|
||||
cpp11_strongly_typed_enumerations_simple \
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ CPP_TEST_CASES = \
|
|||
CPP11_TEST_CASES = \
|
||||
cpp11_shared_ptr_const \
|
||||
cpp11_shared_ptr_nullptr_in_containers \
|
||||
cpp11_shared_ptr_overload \
|
||||
cpp11_shared_ptr_upcast \
|
||||
|
||||
include $(srcdir)/../common.mk
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ CPP_TEST_CASES = \
|
|||
CPP11_TEST_CASES = \
|
||||
cpp11_shared_ptr_const \
|
||||
cpp11_shared_ptr_nullptr_in_containers \
|
||||
cpp11_shared_ptr_overload \
|
||||
cpp11_shared_ptr_upcast \
|
||||
cpp11_strongly_typed_enumerations_simple \
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
import cpp11_shared_ptr_overload.*;
|
||||
|
||||
public class cpp11_shared_ptr_overload_runme {
|
||||
static {
|
||||
try {
|
||||
System.loadLibrary("cpp11_shared_ptr_overload");
|
||||
} catch (UnsatisfiedLinkError e) {
|
||||
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String argv[])
|
||||
{
|
||||
String ret = null;
|
||||
|
||||
// ref
|
||||
ret = cpp11_shared_ptr_overload.UseA(new MyType("123"));
|
||||
if (!ret.equals("123 ref")) throw new RuntimeException("UseA fail:" + ret);
|
||||
|
||||
ret = cpp11_shared_ptr_overload.UseB(0, new MyType("123"));
|
||||
if (!ret.equals("123 ref")) throw new RuntimeException("UseB fail:" + ret);
|
||||
|
||||
ret = cpp11_shared_ptr_overload.UseC(0, new MyType("123"), new MyType("456"));
|
||||
if (!ret.equals("123 ref")) throw new RuntimeException("UseC fail:" + ret);
|
||||
|
||||
// sharedptr
|
||||
ret = cpp11_shared_ptr_overload.UseX(new MyType("123"));
|
||||
if (!ret.equals("123 sharedptr")) throw new RuntimeException("UseX fail:" + ret);
|
||||
|
||||
ret = cpp11_shared_ptr_overload.UseY(0, new MyType("123"));
|
||||
if (!ret.equals("123 sharedptr")) throw new RuntimeException("UseY fail:" + ret);
|
||||
|
||||
ret = cpp11_shared_ptr_overload.UseZ(0, new MyType("123"), new MyType("456"));
|
||||
if (!ret.equals("123 sharedptr")) throw new RuntimeException("UseZ fail:" + ret);
|
||||
|
||||
// Combo1-4
|
||||
ret = cpp11_shared_ptr_overload.Combo1(new MyType("XXX"));
|
||||
if (!ret.equals("XXXCombo1")) throw new RuntimeException("Combo1 fail:" + ret);
|
||||
|
||||
ret = cpp11_shared_ptr_overload.Combo2(new MyType("XXX"));
|
||||
if (!ret.equals("XXXCombo2")) throw new RuntimeException("Combo2 fail:" + ret);
|
||||
|
||||
ret = cpp11_shared_ptr_overload.Combo3(new MyType("XXX"));
|
||||
if (!ret.equals("XXXCombo3")) throw new RuntimeException("Combo3 fail:" + ret);
|
||||
|
||||
ret = cpp11_shared_ptr_overload.Combo4(new MyType("XXX"));
|
||||
if (!ret.equals("XXXCombo4")) throw new RuntimeException("Combo4 fail:" + ret);
|
||||
|
||||
// Combo5-7
|
||||
ret = cpp11_shared_ptr_overload.Combo5(new MyType("XXX"));
|
||||
if (!ret.equals("XXXCombo5")) throw new RuntimeException("Combo5 fail:" + ret);
|
||||
|
||||
ret = cpp11_shared_ptr_overload.Combo6(new MyType("XXX"));
|
||||
if (!ret.equals("XXXCombo6")) throw new RuntimeException("Combo6 fail:" + ret);
|
||||
|
||||
ret = cpp11_shared_ptr_overload.Combo7(new MyType("XXX"));
|
||||
if (!ret.equals("XXXCombo7")) throw new RuntimeException("Combo7 fail:" + ret);
|
||||
}
|
||||
}
|
||||
|
|
@ -83,6 +83,7 @@ CPP11_TEST_CASES = \
|
|||
cpp11_hash_tables \
|
||||
cpp11_shared_ptr_const \
|
||||
cpp11_shared_ptr_nullptr_in_containers \
|
||||
cpp11_shared_ptr_overload \
|
||||
cpp11_shared_ptr_upcast \
|
||||
|
||||
C_TEST_CASES += \
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
import cpp11_shared_ptr_overload
|
||||
from cpp11_shared_ptr_overload import MyType
|
||||
|
||||
# ref
|
||||
ret = cpp11_shared_ptr_overload.UseA(MyType("123"))
|
||||
if ret != "123 ref": raise RuntimeError("UseA fail:" + ret)
|
||||
|
||||
ret = cpp11_shared_ptr_overload.UseB(0, MyType("123"))
|
||||
if ret != "123 ref": raise RuntimeError("UseB fail:" + ret)
|
||||
|
||||
ret = cpp11_shared_ptr_overload.UseC(0, MyType("123"), MyType("456"))
|
||||
if ret != "123 ref": raise RuntimeError("UseC fail:" + ret)
|
||||
|
||||
# sharedptr
|
||||
ret = cpp11_shared_ptr_overload.UseX(MyType("123"))
|
||||
if ret != "123 sharedptr": raise RuntimeError("UseX fail:" + ret)
|
||||
|
||||
ret = cpp11_shared_ptr_overload.UseY(0, MyType("123"))
|
||||
if ret != "123 sharedptr": raise RuntimeError("UseY fail:" + ret)
|
||||
|
||||
ret = cpp11_shared_ptr_overload.UseZ(0, MyType("123"), MyType("456"))
|
||||
if ret != "123 sharedptr": raise RuntimeError("UseZ fail:" + ret)
|
||||
|
||||
# Combo1-4
|
||||
ret = cpp11_shared_ptr_overload.Combo1(MyType("XXX"))
|
||||
if ret != "XXXCombo1": raise RuntimeError("Combo1 fail:" + ret)
|
||||
|
||||
ret = cpp11_shared_ptr_overload.Combo2(MyType("XXX"))
|
||||
if ret != "XXXCombo2": raise RuntimeError("Combo2 fail:" + ret)
|
||||
|
||||
ret = cpp11_shared_ptr_overload.Combo3(MyType("XXX"))
|
||||
if ret != "XXXCombo3": raise RuntimeError("Combo3 fail:" + ret)
|
||||
|
||||
ret = cpp11_shared_ptr_overload.Combo4(MyType("XXX"))
|
||||
if ret != "XXXCombo4": raise RuntimeError("Combo4 fail:" + ret)
|
||||
|
||||
# Combo5-7
|
||||
ret = cpp11_shared_ptr_overload.Combo5(MyType("XXX"))
|
||||
if ret != "XXXCombo5": raise RuntimeError("Combo5 fail:" + ret)
|
||||
|
||||
ret = cpp11_shared_ptr_overload.Combo6(MyType("XXX"))
|
||||
if ret != "XXXCombo6": raise RuntimeError("Combo6 fail:" + ret)
|
||||
|
||||
ret = cpp11_shared_ptr_overload.Combo7(MyType("XXX"))
|
||||
if ret != "XXXCombo7": raise RuntimeError("Combo7 fail:" + ret)
|
||||
|
|
@ -36,6 +36,7 @@ CPP11_TEST_CASES = \
|
|||
cpp11_hash_tables \
|
||||
cpp11_shared_ptr_const \
|
||||
cpp11_shared_ptr_nullptr_in_containers \
|
||||
cpp11_shared_ptr_overload \
|
||||
cpp11_shared_ptr_upcast \
|
||||
cpp11_std_unordered_map \
|
||||
cpp11_std_unordered_multimap \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue