summaryrefslogtreecommitdiffstats
path: root/core/jni/BindTest.cpp
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 18:28:45 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 18:28:45 -0800
commitd83a98f4ce9cfa908f5c54bbd70f03eec07e7553 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /core/jni/BindTest.cpp
parent076357b8567458d4b6dfdcf839ef751634cd2bfb (diff)
downloadframeworks_base-d83a98f4ce9cfa908f5c54bbd70f03eec07e7553.zip
frameworks_base-d83a98f4ce9cfa908f5c54bbd70f03eec07e7553.tar.gz
frameworks_base-d83a98f4ce9cfa908f5c54bbd70f03eec07e7553.tar.bz2
auto import from //depot/cupcake/@135843
Diffstat (limited to 'core/jni/BindTest.cpp')
-rw-r--r--core/jni/BindTest.cpp289
1 files changed, 0 insertions, 289 deletions
diff --git a/core/jni/BindTest.cpp b/core/jni/BindTest.cpp
deleted file mode 100644
index 5fae400..0000000
--- a/core/jni/BindTest.cpp
+++ /dev/null
@@ -1,289 +0,0 @@
-/* //device/libs/android_runtime/BindTest.cpp
-**
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <jam-public.h>
-
-static u4 offset_instanceString;
-static FieldBlock *fb_classString = NULL;
-static Class *class_ReturnedObject = NULL;
-static MethodBlock *mb_ReturnedObject_setReturnedString = NULL;
-static MethodBlock *mb_Java_Lang_Object_Equals = NULL;
-
-static u4 offset_mObj;
-static u4 offset_mBool;
-static u4 offset_mInt;
-static u4 offset_mString;
-static u4 offset_mDouble;
-static u4 offset_mLong;
-
-
-/* native String getString(); */
-static uintptr_t *
-getString(Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- RETURN_OBJ (createString ("String"));
-}
-
-/* native String getNullString(); */
-static uintptr_t *
-getNullString(Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- RETURN_OBJ (createString (NULL));
-}
-
-/* native String getBooleanTrue(); */
-static uintptr_t *
-getBooleanTrue(Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- RETURN_BOOLEAN (TRUE);
-}
-
-/* native String getBooleanFalse(); */
-static uintptr_t *
-getBooleanFalse(Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- RETURN_BOOLEAN (FALSE);
-}
-
-/* native Object nonvoidThrowsException() */
-static uintptr_t *
-nonvoidThrowsException (Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- if (1) {
- signalException("java/lang/NullPointerException", NULL);
- goto exception;
- }
-
- RETURN_OBJ (NULL);
-exception:
- RETURN_VOID;
-}
-
-/* native void setInstanceString(String s); */
-static uintptr_t *
-setInstanceString (Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- Object *jthis = (Object *) ostack[0];
-
- JOBJ_set_obj(jthis, offset_instanceString, ostack[1]);
-
- RETURN_VOID;
-}
-
-/* native void setClassString(String s) */
-static uintptr_t *
-setClassString (Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
-// Object *jthis = (Object *) ostack[0];
-
- fb_classString->static_value = ostack[1];
-
- RETURN_VOID;
-}
-
-/* native String makeStringFromThreeChars(char a, char b, char c); */
-static uintptr_t *
-makeStringFromThreeChars (Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- // Object *jthis = ostack[0];
- char a = (char) ostack[1];
- char b = (char) ostack[2];
- char c = (char) ostack[3];
-
- char str[4];
-
- str[0] = a;
- str[1] = b;
- str[2] = c;
- str[3] = 0;
-
- RETURN_OBJ(createString(str));
-}
-
-/* native ReturnedObject makeReturnedObject(String a); */
-static uintptr_t *
-makeReturnedObject (Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- //Object *jthis = (Object*)ostack[0];
- Object *a = (Object*)ostack[1];
-
- Object *ret;
-
- ret = allocObject(class_ReturnedObject);
-
- executeMethod(ret, mb_ReturnedObject_setReturnedString, a);
-
- RETURN_OBJ (ret);
-}
-
-/* native double addDoubles(double a, double b); */
-static uintptr_t *
-addDoubles (Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- //Object *jthis = (Object*)ostack[0];
- double a = JARG_get_double(1);
- double b = JARG_get_double(3);
-
- RETURN_DOUBLE(a+b);
-}
-
-/* native void setAll (Object obj, boolean bool, int i, String str, double d, long l) */
-static uintptr_t *
-setAll (Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- Object *jthis = JARG_get_obj(0);
-
- Object *obj = JARG_get_obj(1);
- bool b = JARG_get_bool(2);
- int i = JARG_get_int(3);
- char *str = JARG_get_cstr_strdup(4);
- double d = JARG_get_double(5);
- long long ll = JARG_get_long_long(5+2);
-
- JOBJ_set_obj(jthis, offset_mObj, obj);
- JOBJ_set_bool(jthis, offset_mBool, b);
- JOBJ_set_int(jthis, offset_mInt, i);
- JOBJ_set_cstr(jthis, offset_mString, str);
- free(str);
- str = NULL;
- JOBJ_set_double(jthis, offset_mDouble, d);
- JOBJ_set_long_long(jthis, offset_mLong, ll);
-
- RETURN_VOID;
-}
-
-/* native void compareAll (Object obj, boolean bool, int i, String str, double d, long l) */
-static uintptr_t *
-compareAll (Class *clazz, MethodBlock *mb, uintptr_t *ostack)
-{
- Object *jthis = JARG_get_obj(0);
-
- Object *obj = JARG_get_obj(1);
- bool b = JARG_get_bool(2);
- int i = JARG_get_int(3);
- Object *strObj = JARG_get_obj(4);
- double d = JARG_get_double(5);
- long long ll = JARG_get_long_long(5+2);
-
- bool ret;
-
- void *result;
-
- Object *mStringObj = JOBJ_get_obj(jthis, offset_mString);
-
- char *s = JARG_get_cstr_strdup(4);
-
- result = executeMethod (strObj, lookupVirtualMethod(strObj,mb_Java_Lang_Object_Equals),
- JOBJ_get_obj(jthis, offset_mString));
-
- if (exceptionOccurred()) {
- RETURN_VOID;
- }
-
- ret = (*(uintptr_t *)result != 0)
- && (obj == JOBJ_get_obj(jthis, offset_mObj))
- && (b == JOBJ_get_bool(jthis, offset_mBool))
- && (i == JOBJ_get_int(jthis, offset_mInt))
- && (d == JOBJ_get_double(jthis, offset_mDouble))
- && (ll == JOBJ_get_long_long(jthis, offset_mLong));
-
-
- RETURN_BOOLEAN(ret);
-}
-
-static VMMethod methods[] = {
- {"getString", getString},
- {"getNullString", getNullString},
- {"getBooleanTrue", getBooleanTrue},
- {"getBooleanFalse", getBooleanFalse},
- {"nonvoidThrowsException", nonvoidThrowsException},
- {"setInstanceString", setInstanceString},
- {"setClassString", setClassString},
- {"makeStringFromThreeChars", makeStringFromThreeChars},
- {"makeReturnedObject", makeReturnedObject},
- {"addDoubles", addDoubles},
- {"setAll", setAll},
- {"compareAll", compareAll},
- {NULL, NULL}
-};
-
-
-void register_BindTest()
-{
- jamvm_registerClass("BindTest", methods);
-
- Class *clazz = NULL;
-
- clazz = findClassFromClassLoader("BindTest", getSystemClassLoader());
-
- if (clazz == NULL) {
- fprintf(stderr, "Error: BindTest not found\n");
- clearException();
- return;
- }
-
- FieldBlock *fb;
-
- fb = findField(clazz, "instanceString", "Ljava/lang/String;");
-
- if (fb == NULL || ((fb->access_flags & ACC_STATIC) == ACC_STATIC)) {
- fprintf(stderr, "Error: BindTest.instanceString not found or error\n");
- return;
- }
-
- offset_instanceString = fb->offset;
-
- fb_classString = findField(clazz, "classString", "Ljava/lang/String;");
-
- if (fb_classString == NULL || ((fb_classString->access_flags & ACC_STATIC) != ACC_STATIC)) {
- fprintf(stderr, "Error: BindTest.classString not found or error\n");
- return;
- }
-
-
- class_ReturnedObject = findClassFromClassLoader("ReturnedObject", getSystemClassLoader());
-
- if (class_ReturnedObject == NULL) {
- fprintf(stderr, "Error: ReturnedObject class not found or error\n");
- return;
- }
-
- mb_ReturnedObject_setReturnedString=
- findMethod (class_ReturnedObject, "setReturnedString", "(Ljava/lang/String;)V");
-
- if (mb_ReturnedObject_setReturnedString == NULL) {
- fprintf(stderr, "Error: ReturnedObject.setReturnedString class not found or error\n");
- return;
- }
-
- offset_mObj = findField(clazz, "mObj", "Ljava/lang/Object;")->offset;
- offset_mBool = findField(clazz, "mBool", "Z" )->offset;
- offset_mInt = findField(clazz, "mInt", "I")->offset;
- offset_mString = findField(clazz, "mString", "Ljava/lang/String;")->offset;
- offset_mDouble = findField(clazz, "mDouble", "D")->offset;
- offset_mLong = findField(clazz, "mLong", "J")->offset;
-
-
- mb_Java_Lang_Object_Equals = findMethod (
- findClassFromClassLoader("java/lang/Object", getSystemClassLoader()),
- "equals", "(Ljava/lang/Object;)Z");
-
-}
-
-