Add in missing wrappers for friend functions for some target languages
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12588 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
12e1ce4d1a
commit
f24d1b99b1
4 changed files with 103 additions and 0 deletions
53
Examples/test-suite/java/friends_runme.java
Normal file
53
Examples/test-suite/java/friends_runme.java
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
import friends.*;
|
||||
|
||||
public class friends_runme {
|
||||
|
||||
static {
|
||||
try {
|
||||
System.loadLibrary("friends");
|
||||
} 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[]) throws Throwable
|
||||
{
|
||||
A a = new A(2);
|
||||
|
||||
if (friends.get_val1(a) != 2)
|
||||
throw new RuntimeException("failed");
|
||||
if (friends.get_val2(a) != 4)
|
||||
throw new RuntimeException("failed");
|
||||
if (friends.get_val3(a) != 6)
|
||||
throw new RuntimeException("failed");
|
||||
|
||||
// nice overload working fine
|
||||
if (friends.get_val1(1,2,3) != 1)
|
||||
throw new RuntimeException("failed");
|
||||
|
||||
B b = new B(3);
|
||||
|
||||
// David's case
|
||||
if (friends.mix(a,b) != 5)
|
||||
throw new RuntimeException("failed");
|
||||
|
||||
D_d di = new D_d(2);
|
||||
D_d dd = new D_d(3.3);
|
||||
|
||||
// incredible template overloading working just fine
|
||||
if (friends.get_val1(di) != 2)
|
||||
throw new RuntimeException("failed");
|
||||
if (friends.get_val1(dd) != 3.3)
|
||||
throw new RuntimeException("failed");
|
||||
|
||||
friends.set(di, 4);
|
||||
friends.set(dd, 1.3);
|
||||
|
||||
if (friends.get_val1(di) != 4)
|
||||
throw new RuntimeException("failed");
|
||||
if (friends.get_val1(dd) != 1.3)
|
||||
throw new RuntimeException("failed");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue