[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