diff options
Diffstat (limited to 'Examples/test-suite/java_pragmas.i')
| -rw-r--r-- | Examples/test-suite/java_pragmas.i | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Examples/test-suite/java_pragmas.i b/Examples/test-suite/java_pragmas.i new file mode 100644 index 0000000..b1fab27 --- /dev/null +++ b/Examples/test-suite/java_pragmas.i @@ -0,0 +1,50 @@ + +// Test case uses all the Java pragmas which are for tailoring the generated JNI class and Java module class. + +%module java_pragmas + +%pragma(java) jniclassimports=%{ +import java.lang.*; // For Exception +%} + +%pragma(java) jniclassclassmodifiers="public class" +%pragma(java) jniclassbase="Exception" +%pragma(java) jniclassinterfaces="Cloneable" + +%pragma(java) jniclasscode=%{ + // jniclasscode pragma code: Static block so that the JNI class loads the C++ DLL/shared object when the class is loaded + static { + try { + System.loadLibrary("java_pragmas"); + } 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 final long serialVersionUID = 0x52151000; // Suppress ecj warning +%} + + +%pragma(java) moduleimports=%{ +import java.io.*; // For Serializable +%} + +%pragma(java) moduleclassmodifiers="public final class" +%pragma(java) modulebase="Object" +%pragma(java) moduleinterfaces="Serializable" + +%pragma(java) modulecode=%{ + public static final long serialVersionUID = 0x52151001; // Suppress ecj warning + public static void added_function(String s) { + // Added function + } +%} + + +%inline %{ +int *get_int_pointer() { + static int number = 10; + return &number; +} +%} + |
