blob: 908861bb03ba756fce461cbe247868705a35db9c [file] [log] [blame]
public class Test
{
// Fields to test JNI getFieldID and get<TYPE>Field functions.
public boolean z = false;
public int i = 123;
public long l = 1234567890123456789L;
public float f = 753.46F;
public double d = -46.75346;
public short s = 456;
public byte b = 78;
// Fields to test JNI getStaticFieldID and getStatic<TYPE>Field functions.
public static boolean Z = true;
public static int I = 321;
public static long L = 1234567890987654321L;
public static float F = 46.753F;
public static double D = -75346.46;
public static short S = 654;
public static byte B = 87;
// Methods to test JNI getMethodID and call<TYPE>Method functions.
public boolean z() { return z; }
public int i(int ii) { return i + ii; }
public long j(byte bb, short ss) { return l + bb + ss; }
public float f(byte bb) { return f + bb; }
public double d(int ii, long ll) { return d + ii + ll; }
public short s(double dd, byte bb) { return (short) (s + dd + bb); }
public byte b(short ss, float ff) { return (byte)(B + ff + ss); }
// Methods to test JNI getStaticMethodID and
// callStatic<TYPE>Method functions.
public static boolean Z() { return Z; }
public static int I(int jj) { return I + jj; }
public static long J(byte bb, short ss) { return L + bb + ss; }
public static float F(byte bb) { return F + bb; }
public static double D(int ii, long ll) { return D + ii + ll; }
public static short S(double dd, byte bb) { return (short) (S + dd + bb); }
public static byte B(short ss, float ff) { return (byte)(B + ff + ss); }
static {
System.loadLibrary("test");
}
public static native void println(boolean b);
public static native void println(int i);
public static native void println(long l);
public static native void println(float f);
public static native void println(double d);
public static void println(Object o) {
println(o.toString());
}
public static void println(String s) {
byte[] bytes = new byte[s.length()];
s.getBytes(0, s.length(), bytes, 0);
println(bytes);
}
private static native void println(byte[] a);
public native void printFields();
public static native void printStaticFields();
public native void printMethods();
public static native void printStaticMethods();
public static void main(String[] args) {
println(true);
println(false);
println(123);
println(-321);
println(1234567890123456789L);
println(-1234567890123456789L);
println(753.46F);
println(-753.46F);
println(753.46);
println(-753.46);
println(new byte[] { 'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd' });
println("Hello world");
println("Printing static fields:");
printStaticFields();
println("Printing member fields:");
new Test().printFields();
println("Calling static methods:");
printStaticMethods();
println("Calling member methods:");
new Test().printMethods();
}
}