Lines Matching defs:env
40 JNIEnv* env = nullptr;
42 int attach_result = jvm->AttachCurrentThread(&env, &args);
47 fn(env);
63 static void testFindClassOnAttachedNativeThread(JNIEnv* env) {
64 jclass clazz = env->FindClass("Main");
66 assert(!env->ExceptionCheck());
68 jobjectArray array = env->NewObjectArray(0, clazz, nullptr);
70 assert(!env->ExceptionCheck());
78 static void testFindFieldOnAttachedNativeThread(JNIEnv* env) {
79 jclass clazz = env->FindClass("Main");
81 assert(!env->ExceptionCheck());
83 jfieldID field = env->GetStaticFieldID(clazz, "testFindFieldOnAttachedNativeThreadField", "Z");
85 assert(!env->ExceptionCheck());
87 env->SetStaticBooleanField(clazz, field, JNI_TRUE);
95 static void testReflectFieldGetFromAttachedNativeThread(JNIEnv* env) {
96 jclass clazz = env->FindClass("Main");
98 assert(!env->ExceptionCheck());
100 jclass class_clazz = env->FindClass("java/lang/Class");
102 assert(!env->ExceptionCheck());
104 jmethodID getFieldMetodId = env->GetMethodID(class_clazz, "getField",
107 assert(!env->ExceptionCheck());
109 jstring field_name = env->NewStringUTF("testReflectFieldGetFromAttachedNativeThreadField");
111 assert(!env->ExceptionCheck());
113 jobject field = env->CallObjectMethod(clazz, getFieldMetodId, field_name);
115 assert(!env->ExceptionCheck());
117 jclass field_clazz = env->FindClass("java/lang/reflect/Field");
119 assert(!env->ExceptionCheck());
121 jmethodID getBooleanMetodId = env->GetMethodID(field_clazz, "getBoolean",
124 assert(!env->ExceptionCheck());
126 jboolean value = env->CallBooleanMethod(field, getBooleanMetodId, /* ignored */ clazz);
128 assert(!env->ExceptionCheck());
139 extern "C" JNIEXPORT void JNICALL Java_Main_testCallStaticVoidMethodOnSubClassNative(JNIEnv* env,
141 jclass super_class = env->FindClass("Main$testCallStaticVoidMethodOnSubClass_SuperClass");
144 jmethodID execute = env->GetStaticMethodID(super_class, "execute", "()V");
147 jclass sub_class = env->FindClass("Main$testCallStaticVoidMethodOnSubClass_SubClass");
150 env->CallStaticVoidMethod(sub_class, execute);
153 extern "C" JNIEXPORT jobject JNICALL Java_Main_testGetMirandaMethodNative(JNIEnv* env, jclass) {
154 jclass abstract_class = env->FindClass("Main$testGetMirandaMethod_MirandaAbstract");
156 jmethodID miranda_method = env->GetMethodID(abstract_class, "inInterface", "()Z");
158 return env->ToReflectedMethod(abstract_class, miranda_method, JNI_FALSE);
162 extern "C" void JNICALL Java_Main_testZeroLengthByteBuffers(JNIEnv* env, jclass) {
164 jobject byte_buffer = env->NewDirectByteBuffer(&buffer[0], 0);
166 assert(!env->ExceptionCheck());
168 assert(env->GetDirectBufferAddress(byte_buffer) == &buffer[0]);
169 assert(env->GetDirectBufferCapacity(byte_buffer) == 0);
261 extern "C" JNIEXPORT void JNICALL Java_Main_removeLocalObject(JNIEnv* env, jclass, jclass o) {
263 env->DeleteLocalRef(o);
266 extern "C" JNIEXPORT jboolean JNICALL Java_Main_nativeIsAssignableFrom(JNIEnv* env, jclass,
268 return env->IsAssignableFrom(from, to);
271 static void testShallowGetCallingClassLoader(JNIEnv* env) {
274 jclass vmstack_clazz = env->FindClass("dalvik/system/VMStack");
276 assert(!env->ExceptionCheck());
278 jmethodID getCallingClassLoaderMethodId = env->GetStaticMethodID(vmstack_clazz,
282 assert(!env->ExceptionCheck());
284 jobject class_loader = env->CallStaticObjectMethod(vmstack_clazz,
287 assert(!env->ExceptionCheck());
292 jclass system_clazz = env->FindClass("java/lang/System");
294 assert(!env->ExceptionCheck());
296 jmethodID loadLibraryMethodId = env->GetStaticMethodID(system_clazz, "loadLibrary",
299 assert(!env->ExceptionCheck());
302 jobject library_string = env->NewStringUTF("non_existing_library");
304 assert(!env->ExceptionCheck());
306 env->CallStaticVoidMethod(system_clazz, loadLibraryMethodId, library_string);
307 assert(env->ExceptionCheck());
310 jthrowable thrown = env->ExceptionOccurred();
311 env->ExceptionClear();
313 jclass unsatisfied_link_error_clazz = env->FindClass("java/lang/UnsatisfiedLinkError");
314 jclass thrown_class = env->GetObjectClass(thrown);
315 assert(env->IsSameObject(unsatisfied_link_error_clazz, thrown_class));
325 static void testShallowGetStackClass2(JNIEnv* env) {
326 jclass vmstack_clazz = env->FindClass("dalvik/system/VMStack");
328 assert(!env->ExceptionCheck());
332 jmethodID getStackClass2MethodId = env->GetStaticMethodID(vmstack_clazz, "getStackClass2",
335 assert(!env->ExceptionCheck());
337 jobject caller_class = env->CallStaticObjectMethod(vmstack_clazz, getStackClass2MethodId);
339 assert(!env->ExceptionCheck());
344 jmethodID getStackClass1MethodId = env->GetStaticMethodID(vmstack_clazz, "getStackClass1",
347 assert(!env->ExceptionCheck());
349 jobject caller_class = env->CallStaticObjectMethod(vmstack_clazz, getStackClass1MethodId);
351 assert(!env->ExceptionCheck());
364 explicit JniCallNonvirtualVoidMethodTest(JNIEnv* env)
365 : env_(env),
553 extern "C" void JNICALL Java_Main_testCallNonvirtual(JNIEnv* env, jclass) {
554 JniCallNonvirtualVoidMethodTest(env).Test();
557 extern "C" JNIEXPORT void JNICALL Java_Main_testNewStringObject(JNIEnv* env, jclass) {
558 jclass c = env->FindClass("java/lang/String");
561 jmethodID mid1 = env->GetMethodID(c, "<init>", "()V");
563 assert(!env->ExceptionCheck());
564 jmethodID mid2 = env->GetMethodID(c, "<init>", "([B)V");
566 assert(!env->ExceptionCheck());
567 jmethodID mid3 = env->GetMethodID(c, "<init>", "([C)V");
569 assert(!env->ExceptionCheck());
570 jmethodID mid4 = env->GetMethodID(c, "<init>", "(Ljava/lang/String;)V");
572 assert(!env->ExceptionCheck());
576 jbyteArray byte_array = env->NewByteArray(byte_array_length);
577 env->SetByteArrayRegion(byte_array, 0, byte_array_length, reinterpret_cast<const jbyte*>(test_array));
580 jstring s = reinterpret_cast<jstring>(env->NewObject(c, mid2, byte_array));
582 assert(env->GetStringLength(s) == byte_array_length);
583 assert(env->GetStringUTFLength(s) == byte_array_length);
584 const char* chars = env->GetStringUTFChars(s, nullptr);
586 env->ReleaseStringUTFChars(s, chars);
589 jstring s1 = reinterpret_cast<jstring>(env->AllocObject(c));
591 jstring s2 = reinterpret_cast<jstring>(env->AllocObject(c));
593 jstring s3 = reinterpret_cast<jstring>(env->AllocObject(c));
595 jstring s4 = reinterpret_cast<jstring>(env->AllocObject(c));
598 jcharArray char_array = env->NewCharArray(5);
599 jstring string_arg = env->NewStringUTF("helloworld");
602 env->CallVoidMethod(s1, mid1);
603 env->CallNonvirtualVoidMethod(s2, c, mid2, byte_array);
610 env->CallVoidMethodA(s3, mid3, args3);
611 env->CallNonvirtualVoidMethodA(s4, c, mid4, args4);
614 jstring s5 = reinterpret_cast<jstring>(env->AllocObject(c));
616 s5 = reinterpret_cast<jstring>(env->NewGlobalRef(s5));
617 jstring s6 = reinterpret_cast<jstring>(env->AllocObject(c));
619 s6 = reinterpret_cast<jstring>(env->NewWeakGlobalRef(s6));
621 env->CallVoidMethod(s5, mid1);
622 env->CallNonvirtualVoidMethod(s6, c, mid2, byte_array);
623 assert(env->GetStringLength(s5) == 0);
624 assert(env->GetStringLength(s6) == byte_array_length);
625 const char* chars6 = env->GetStringUTFChars(s6, nullptr);
627 env->ReleaseStringUTFChars(s6, chars6);
630 extern "C" JNIEXPORT jlong JNICALL Java_Main_testGetMethodID(JNIEnv* env, jclass, jclass c) {
631 return reinterpret_cast<jlong>(env->GetMethodID(c, "a", "()V"));