add more dispatch cases
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8050 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
6bb9dd502f
commit
485ccd5809
2 changed files with 58 additions and 0 deletions
|
|
@ -123,6 +123,21 @@ char *num(double) {
|
||||||
return (char*) "num:double";
|
return (char*) "num:double";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *fid(int, int) {
|
||||||
|
return (char*) "fid:intint";
|
||||||
|
}
|
||||||
|
char *fid(int, double) {
|
||||||
|
return (char*) "fid:intdouble";
|
||||||
|
}
|
||||||
|
|
||||||
|
char *fid(double, int) {
|
||||||
|
return (char*) "fid:doubleint";
|
||||||
|
}
|
||||||
|
|
||||||
|
char *fid(double, double) {
|
||||||
|
return (char*) "fid:doubledouble";
|
||||||
|
}
|
||||||
|
|
||||||
%}
|
%}
|
||||||
|
|
||||||
%inline %{
|
%inline %{
|
||||||
|
|
|
||||||
|
|
@ -235,6 +235,49 @@ if (!($s->{type} eq "void *")) {
|
||||||
die("Spam(void *)");
|
die("Spam(void *)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Combine dispatch
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
if (!(overload_simple::fid(3, 3.0) eq "fid:intdouble")) {
|
||||||
|
die("fid(int,double)");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(overload_simple::fid(3.0, 3) eq "fid:doubleint")) {
|
||||||
|
die("fid(double,int)");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(overload_simple::fid(3.0, 3.0) eq "fid:doubledouble")) {
|
||||||
|
die("fid(double,double)");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(overload_simple::fid(3, 3) eq "fid:intint")) {
|
||||||
|
die("fid(int,int)");
|
||||||
|
}
|
||||||
|
|
||||||
|
# with strings now
|
||||||
|
|
||||||
|
if (!(overload_simple::fid(3, "3.0") eq "fid:intdouble")) {
|
||||||
|
die("fid(int,double)");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(overload_simple::fid("3", 3.0) eq "fid:intdouble")) {
|
||||||
|
die("fid(int,double)");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(overload_simple::fid("3", "3.0") eq "fid:intdouble")) {
|
||||||
|
die("fid(int,double)");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(overload_simple::fid(3.0, "3") eq "fid:doubleint")) {
|
||||||
|
die("fid(double,int)");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(overload_simple::fid("3.0", "3.0") eq "fid:doubledouble")) {
|
||||||
|
die("fid(double,double)");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(overload_simple::fid("3", 3) eq "fid:intint")) {
|
||||||
|
die("fid(int,int)");
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue