mirror of https://github.com/swig/swig
51 lines
1.3 KiB
OpenEdge ABL
51 lines
1.3 KiB
OpenEdge ABL
|
|
// 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;
|
|
}
|
|
%}
|
|
|