[llvm-commits] CVS: llvm-java/test/Programs/SingleSource/UnitTests/test.c Test.java
Alkis Evlogimenos
alkis at cs.uiuc.edu
Sat Apr 2 17:10:26 PST 2005
Changes in directory llvm-java/test/Programs/SingleSource/UnitTests:
test.c updated: 1.4 -> 1.5
Test.java updated: 1.7 -> 1.8
---
Log message:
Add tests for getfield.
---
Diffs of the changes: (+64 -0)
Test.java | 12 ++++++++++++
test.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 64 insertions(+)
Index: llvm-java/test/Programs/SingleSource/UnitTests/test.c
diff -u llvm-java/test/Programs/SingleSource/UnitTests/test.c:1.4 llvm-java/test/Programs/SingleSource/UnitTests/test.c:1.5
--- llvm-java/test/Programs/SingleSource/UnitTests/test.c:1.4 Sat Dec 11 21:13:59 2004
+++ llvm-java/test/Programs/SingleSource/UnitTests/test.c Sat Apr 2 19:10:15 2005
@@ -38,3 +38,55 @@
// Since we didn't modify the array there is no point in copying it back
(*env)->ReleaseByteArrayElements(env, array, elements, JNI_ABORT);
}
+
+void Java_Test_printFields(JNIEnv *env, jobject obj)
+{
+ jclass classTest;
+ jclass objClass;
+ jfieldID id;
+ jboolean z;
+ jint i;
+ jlong l;
+ jfloat f;
+ jdouble d;
+ jshort s;
+ jbyte b;
+
+ classTest = (*env)->FindClass(env, "Test");
+ if (!classTest)
+ printf("ERROR: Class Test not found!\n");
+
+ if (!(*env)->IsInstanceOf(env, obj, classTest))
+ printf("ERROR: IsInstanceOf\n");
+ objClass = (*env)->GetObjectClass(env, obj);
+ if (!(*env)->IsAssignableFrom(env, objClass, classTest))
+ printf("ERROR: IsAssignableFrom\n");
+
+ id = (*env)->GetFieldID(env, objClass, "z", "Z");
+ z = (*env)->GetBooleanField(env, obj, id);
+ Java_Test_println__Z(env, objClass, z);
+
+ id = (*env)->GetFieldID(env, objClass, "i", "I");
+ i = (*env)->GetIntField(env, obj, id);
+ Java_Test_println__I(env, objClass, i);
+
+ id = (*env)->GetFieldID(env, objClass, "l", "J");
+ l = (*env)->GetLongField(env, obj, id);
+ Java_Test_println__J(env, objClass, l);
+
+ id = (*env)->GetFieldID(env, objClass, "f", "F");
+ f = (*env)->GetFloatField(env, obj, id);
+ Java_Test_println__F(env, objClass, f);
+
+ id = (*env)->GetFieldID(env, objClass, "d", "D");
+ d = (*env)->GetDoubleField(env, obj, id);
+ Java_Test_println__D(env, objClass, d);
+
+ id = (*env)->GetFieldID(env, objClass, "s", "S");
+ s = (*env)->GetShortField(env, obj, id);
+ Java_Test_println__I(env, objClass, s);
+
+ id = (*env)->GetFieldID(env, objClass, "b", "B");
+ b = (*env)->GetByteField(env, obj, id);
+ Java_Test_println__I(env, objClass, b);
+}
Index: llvm-java/test/Programs/SingleSource/UnitTests/Test.java
diff -u llvm-java/test/Programs/SingleSource/UnitTests/Test.java:1.7 llvm-java/test/Programs/SingleSource/UnitTests/Test.java:1.8
--- llvm-java/test/Programs/SingleSource/UnitTests/Test.java:1.7 Mon Feb 7 19:38:02 2005
+++ llvm-java/test/Programs/SingleSource/UnitTests/Test.java Sat Apr 2 19:10:15 2005
@@ -1,5 +1,13 @@
public class Test
{
+ 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;
+
static {
System.loadLibrary("test");
}
@@ -19,6 +27,8 @@
}
private static native void println(byte[] a);
+ public native void printFields();
+
public static void main(String[] args) {
println(true);
println(false);
@@ -32,5 +42,7 @@
println(-753.46);
println(new byte[] { 'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd' });
println("Hello world");
+
+ new Test().printFields();
}
}
More information about the llvm-commits
mailing list