Lines Matching refs:env

60   JNIEnv* env = nullptr;  in AttachHelper()  local
62 int attach_result = jvm->AttachCurrentThread(&env, &args); in AttachHelper()
67 fn(env); in AttachHelper()
83 static void testFindClassOnAttachedNativeThread(JNIEnv* env) { in testFindClassOnAttachedNativeThread() argument
84 jclass clazz = env->FindClass("Main"); in testFindClassOnAttachedNativeThread()
86 CHECK(!env->ExceptionCheck()); in testFindClassOnAttachedNativeThread()
88 jobjectArray array = env->NewObjectArray(0, clazz, nullptr); in testFindClassOnAttachedNativeThread()
90 CHECK(!env->ExceptionCheck()); in testFindClassOnAttachedNativeThread()
93 extern "C" JNIEXPORT jint JNICALL Java_Main_getFieldSubclass(JNIEnv* env, in Java_Main_getFieldSubclass() argument
97 jfieldID f = env->FromReflectedField(f_obj); in Java_Main_getFieldSubclass()
98 return env->GetStaticIntField(sub, f); in Java_Main_getFieldSubclass()
106 static void testFindFieldOnAttachedNativeThread(JNIEnv* env) { in testFindFieldOnAttachedNativeThread() argument
107 jclass clazz = env->FindClass("Main"); in testFindFieldOnAttachedNativeThread()
109 CHECK(!env->ExceptionCheck()); in testFindFieldOnAttachedNativeThread()
111 jfieldID field = env->GetStaticFieldID(clazz, "testFindFieldOnAttachedNativeThreadField", "Z"); in testFindFieldOnAttachedNativeThread()
113 CHECK(!env->ExceptionCheck()); in testFindFieldOnAttachedNativeThread()
115 env->SetStaticBooleanField(clazz, field, JNI_TRUE); in testFindFieldOnAttachedNativeThread()
123 static void testReflectFieldGetFromAttachedNativeThread(JNIEnv* env) { in testReflectFieldGetFromAttachedNativeThread() argument
124 jclass clazz = env->FindClass("Main"); in testReflectFieldGetFromAttachedNativeThread()
126 CHECK(!env->ExceptionCheck()); in testReflectFieldGetFromAttachedNativeThread()
128 jclass class_clazz = env->FindClass("java/lang/Class"); in testReflectFieldGetFromAttachedNativeThread()
130 CHECK(!env->ExceptionCheck()); in testReflectFieldGetFromAttachedNativeThread()
132 jmethodID getFieldMetodId = env->GetMethodID(class_clazz, "getField", in testReflectFieldGetFromAttachedNativeThread()
135 CHECK(!env->ExceptionCheck()); in testReflectFieldGetFromAttachedNativeThread()
137 jstring field_name = env->NewStringUTF("testReflectFieldGetFromAttachedNativeThreadField"); in testReflectFieldGetFromAttachedNativeThread()
139 CHECK(!env->ExceptionCheck()); in testReflectFieldGetFromAttachedNativeThread()
141 jobject field = env->CallObjectMethod(clazz, getFieldMetodId, field_name); in testReflectFieldGetFromAttachedNativeThread()
143 CHECK(!env->ExceptionCheck()); in testReflectFieldGetFromAttachedNativeThread()
145 jclass field_clazz = env->FindClass("java/lang/reflect/Field"); in testReflectFieldGetFromAttachedNativeThread()
147 CHECK(!env->ExceptionCheck()); in testReflectFieldGetFromAttachedNativeThread()
149 jmethodID getBooleanMetodId = env->GetMethodID(field_clazz, "getBoolean", in testReflectFieldGetFromAttachedNativeThread()
152 CHECK(!env->ExceptionCheck()); in testReflectFieldGetFromAttachedNativeThread()
154 jboolean value = env->CallBooleanMethod(field, getBooleanMetodId, /* ignored */ clazz); in testReflectFieldGetFromAttachedNativeThread()
156 CHECK(!env->ExceptionCheck()); in testReflectFieldGetFromAttachedNativeThread()
167 extern "C" JNIEXPORT void JNICALL Java_Main_testCallStaticVoidMethodOnSubClassNative(JNIEnv* env, in Java_Main_testCallStaticVoidMethodOnSubClassNative() argument
169 jclass super_class = env->FindClass("Main$testCallStaticVoidMethodOnSubClass_SuperClass"); in Java_Main_testCallStaticVoidMethodOnSubClassNative()
172 jmethodID execute = env->GetStaticMethodID(super_class, "execute", "()V"); in Java_Main_testCallStaticVoidMethodOnSubClassNative()
175 jclass sub_class = env->FindClass("Main$testCallStaticVoidMethodOnSubClass_SubClass"); in Java_Main_testCallStaticVoidMethodOnSubClassNative()
178 env->CallStaticVoidMethod(sub_class, execute); in Java_Main_testCallStaticVoidMethodOnSubClassNative()
181 extern "C" JNIEXPORT jobject JNICALL Java_Main_testGetMirandaMethodNative(JNIEnv* env, jclass) { in Java_Main_testGetMirandaMethodNative() argument
182 jclass abstract_class = env->FindClass("Main$testGetMirandaMethod_MirandaAbstract"); in Java_Main_testGetMirandaMethodNative()
184 jmethodID miranda_method = env->GetMethodID(abstract_class, "inInterface", "()Z"); in Java_Main_testGetMirandaMethodNative()
186 return env->ToReflectedMethod(abstract_class, miranda_method, JNI_FALSE); in Java_Main_testGetMirandaMethodNative()
190 extern "C" void JNICALL Java_Main_testZeroLengthByteBuffers(JNIEnv* env, jclass) { in Java_Main_testZeroLengthByteBuffers() argument
192 jobject byte_buffer = env->NewDirectByteBuffer(&buffer[0], 0); in Java_Main_testZeroLengthByteBuffers()
194 CHECK(!env->ExceptionCheck()); in Java_Main_testZeroLengthByteBuffers()
196 CHECK_EQ(env->GetDirectBufferAddress(byte_buffer), &buffer[0]); in Java_Main_testZeroLengthByteBuffers()
197 CHECK_EQ(env->GetDirectBufferCapacity(byte_buffer), 0); in Java_Main_testZeroLengthByteBuffers()
289 extern "C" JNIEXPORT void JNICALL Java_Main_removeLocalObject(JNIEnv* env, jclass, jclass o) { in Java_Main_removeLocalObject() argument
291 env->DeleteLocalRef(o); in Java_Main_removeLocalObject()
294 extern "C" JNIEXPORT jboolean JNICALL Java_Main_nativeIsAssignableFrom(JNIEnv* env, jclass, in Java_Main_nativeIsAssignableFrom() argument
296 return env->IsAssignableFrom(from, to); in Java_Main_nativeIsAssignableFrom()
299 static void testShallowGetCallingClassLoader(JNIEnv* env) { in testShallowGetCallingClassLoader() argument
302 jclass vmstack_clazz = env->FindClass("dalvik/system/VMStack"); in testShallowGetCallingClassLoader()
304 CHECK(!env->ExceptionCheck()); in testShallowGetCallingClassLoader()
306 jmethodID getCallingClassLoaderMethodId = env->GetStaticMethodID(vmstack_clazz, in testShallowGetCallingClassLoader()
310 CHECK(!env->ExceptionCheck()); in testShallowGetCallingClassLoader()
312 jobject class_loader = env->CallStaticObjectMethod(vmstack_clazz, in testShallowGetCallingClassLoader()
315 CHECK(!env->ExceptionCheck()); in testShallowGetCallingClassLoader()
320 jclass system_clazz = env->FindClass("java/lang/System"); in testShallowGetCallingClassLoader()
322 CHECK(!env->ExceptionCheck()); in testShallowGetCallingClassLoader()
324 jmethodID loadLibraryMethodId = env->GetStaticMethodID(system_clazz, "loadLibrary", in testShallowGetCallingClassLoader()
327 CHECK(!env->ExceptionCheck()); in testShallowGetCallingClassLoader()
330 jobject library_string = env->NewStringUTF("non_existing_library"); in testShallowGetCallingClassLoader()
332 CHECK(!env->ExceptionCheck()); in testShallowGetCallingClassLoader()
334 env->CallStaticVoidMethod(system_clazz, loadLibraryMethodId, library_string); in testShallowGetCallingClassLoader()
335 CHECK(env->ExceptionCheck()); in testShallowGetCallingClassLoader()
338 jthrowable thrown = env->ExceptionOccurred(); in testShallowGetCallingClassLoader()
339 env->ExceptionClear(); in testShallowGetCallingClassLoader()
341 jclass unsatisfied_link_error_clazz = env->FindClass("java/lang/UnsatisfiedLinkError"); in testShallowGetCallingClassLoader()
342 jclass thrown_class = env->GetObjectClass(thrown); in testShallowGetCallingClassLoader()
343 CHECK(env->IsSameObject(unsatisfied_link_error_clazz, thrown_class)); in testShallowGetCallingClassLoader()
353 static void testShallowGetStackClass2(JNIEnv* env) { in testShallowGetStackClass2() argument
354 jclass vmstack_clazz = env->FindClass("dalvik/system/VMStack"); in testShallowGetStackClass2()
356 CHECK(!env->ExceptionCheck()); in testShallowGetStackClass2()
360 jmethodID getStackClass2MethodId = env->GetStaticMethodID(vmstack_clazz, "getStackClass2", in testShallowGetStackClass2()
363 CHECK(!env->ExceptionCheck()); in testShallowGetStackClass2()
365 jobject caller_class = env->CallStaticObjectMethod(vmstack_clazz, getStackClass2MethodId); in testShallowGetStackClass2()
367 CHECK(!env->ExceptionCheck()); in testShallowGetStackClass2()
372 jmethodID getStackClass1MethodId = env->GetStaticMethodID(vmstack_clazz, "getStackClass1", in testShallowGetStackClass2()
375 CHECK(!env->ExceptionCheck()); in testShallowGetStackClass2()
377 jobject caller_class = env->CallStaticObjectMethod(vmstack_clazz, getStackClass1MethodId); in testShallowGetStackClass2()
379 CHECK(!env->ExceptionCheck()); in testShallowGetStackClass2()
392 explicit JniCallNonvirtualVoidMethodTest(JNIEnv* env) in JniCallNonvirtualVoidMethodTest() argument
393 : env_(env), in JniCallNonvirtualVoidMethodTest()
581 extern "C" void JNICALL Java_Main_testCallNonvirtual(JNIEnv* env, jclass) { in Java_Main_testCallNonvirtual() argument
582 JniCallNonvirtualVoidMethodTest(env).Test(); in Java_Main_testCallNonvirtual()
585 extern "C" JNIEXPORT void JNICALL Java_Main_testNewStringObject(JNIEnv* env, jclass) { in Java_Main_testNewStringObject() argument
586 jclass c = env->FindClass("java/lang/String"); in Java_Main_testNewStringObject()
589 jmethodID mid1 = env->GetMethodID(c, "<init>", "()V"); in Java_Main_testNewStringObject()
591 CHECK(!env->ExceptionCheck()); in Java_Main_testNewStringObject()
592 jmethodID mid2 = env->GetMethodID(c, "<init>", "([B)V"); in Java_Main_testNewStringObject()
594 CHECK(!env->ExceptionCheck()); in Java_Main_testNewStringObject()
595 jmethodID mid3 = env->GetMethodID(c, "<init>", "([C)V"); in Java_Main_testNewStringObject()
597 CHECK(!env->ExceptionCheck()); in Java_Main_testNewStringObject()
598 jmethodID mid4 = env->GetMethodID(c, "<init>", "(Ljava/lang/String;)V"); in Java_Main_testNewStringObject()
600 CHECK(!env->ExceptionCheck()); in Java_Main_testNewStringObject()
604 jbyteArray byte_array = env->NewByteArray(byte_array_length); in Java_Main_testNewStringObject()
605env->SetByteArrayRegion(byte_array, 0, byte_array_length, reinterpret_cast<const jbyte*>(test_arra… in Java_Main_testNewStringObject()
608 jstring s = reinterpret_cast<jstring>(env->NewObject(c, mid2, byte_array)); in Java_Main_testNewStringObject()
610 CHECK_EQ(env->GetStringLength(s), byte_array_length); in Java_Main_testNewStringObject()
611 CHECK_EQ(env->GetStringUTFLength(s), byte_array_length); in Java_Main_testNewStringObject()
612 const char* chars = env->GetStringUTFChars(s, nullptr); in Java_Main_testNewStringObject()
614 env->ReleaseStringUTFChars(s, chars); in Java_Main_testNewStringObject()
617 jstring s1 = reinterpret_cast<jstring>(env->AllocObject(c)); in Java_Main_testNewStringObject()
619 jstring s2 = reinterpret_cast<jstring>(env->AllocObject(c)); in Java_Main_testNewStringObject()
621 jstring s3 = reinterpret_cast<jstring>(env->AllocObject(c)); in Java_Main_testNewStringObject()
623 jstring s4 = reinterpret_cast<jstring>(env->AllocObject(c)); in Java_Main_testNewStringObject()
626 jcharArray char_array = env->NewCharArray(5); in Java_Main_testNewStringObject()
627 jstring string_arg = env->NewStringUTF("helloworld"); in Java_Main_testNewStringObject()
630 env->CallVoidMethod(s1, mid1); in Java_Main_testNewStringObject()
631 env->CallNonvirtualVoidMethod(s2, c, mid2, byte_array); in Java_Main_testNewStringObject()
638 env->CallVoidMethodA(s3, mid3, args3); in Java_Main_testNewStringObject()
639 env->CallNonvirtualVoidMethodA(s4, c, mid4, args4); in Java_Main_testNewStringObject()
642 jstring s5 = reinterpret_cast<jstring>(env->AllocObject(c)); in Java_Main_testNewStringObject()
644 s5 = reinterpret_cast<jstring>(env->NewGlobalRef(s5)); in Java_Main_testNewStringObject()
645 jstring s6 = reinterpret_cast<jstring>(env->AllocObject(c)); in Java_Main_testNewStringObject()
647 s6 = reinterpret_cast<jstring>(env->NewWeakGlobalRef(s6)); in Java_Main_testNewStringObject()
649 env->CallVoidMethod(s5, mid1); in Java_Main_testNewStringObject()
650 env->CallNonvirtualVoidMethod(s6, c, mid2, byte_array); in Java_Main_testNewStringObject()
651 CHECK_EQ(env->GetStringLength(s5), 0); in Java_Main_testNewStringObject()
652 CHECK_EQ(env->GetStringLength(s6), byte_array_length); in Java_Main_testNewStringObject()
653 const char* chars6 = env->GetStringUTFChars(s6, nullptr); in Java_Main_testNewStringObject()
655 env->ReleaseStringUTFChars(s6, chars6); in Java_Main_testNewStringObject()
658 extern "C" JNIEXPORT jlong JNICALL Java_Main_testGetMethodID(JNIEnv* env, jclass, jclass c) { in Java_Main_testGetMethodID() argument
659 return reinterpret_cast<jlong>(env->GetMethodID(c, "a", "()V")); in Java_Main_testGetMethodID()
662 extern "C" JNIEXPORT void JNICALL Java_Main_enterJniCriticalSection(JNIEnv* env, jclass, in Java_Main_enterJniCriticalSection() argument
667 char* data0 = reinterpret_cast<char*>(env->GetPrimitiveArrayCritical(array0, nullptr)); in Java_Main_enterJniCriticalSection()
668 char* data1 = reinterpret_cast<char*>(env->GetPrimitiveArrayCritical(array1, nullptr)); in Java_Main_enterJniCriticalSection()
677 env->ReleasePrimitiveArrayCritical(array1, data1, 0); in Java_Main_enterJniCriticalSection()
678 env->ReleasePrimitiveArrayCritical(array0, data0, 0); in Java_Main_enterJniCriticalSection()
684 explicit JniCallDefaultMethodsTest(JNIEnv* env) in JniCallDefaultMethodsTest() argument
685 : env_(env), concrete_class_(env_->FindClass("ConcreteClass")) { in JniCallDefaultMethodsTest()
740 extern "C" JNIEXPORT void JNICALL Java_Main_testCallDefaultMethods(JNIEnv* env) { in Java_Main_testCallDefaultMethods() argument
741 JniCallDefaultMethodsTest(env).Test(); in Java_Main_testCallDefaultMethods()
744 static void InvokeSpecificMethod(JNIEnv* env, jobject obj, const char* method) { in InvokeSpecificMethod() argument
745 jclass lambda_class = env->FindClass("LambdaInterface"); in InvokeSpecificMethod()
746 CHECK(!env->ExceptionCheck()); in InvokeSpecificMethod()
748 jmethodID method_id = env->GetMethodID(lambda_class, method, "()V"); in InvokeSpecificMethod()
749 CHECK(!env->ExceptionCheck()); in InvokeSpecificMethod()
750 env->CallVoidMethod(obj, method_id); in InvokeSpecificMethod()
751 CHECK(!env->ExceptionCheck()); in InvokeSpecificMethod()
789 extern "C" JNIEXPORT jobject JNICALL Java_Main_lookupClinit(JNIEnv* env, jclass, jclass kls) { in Java_Main_lookupClinit() argument
790 jmethodID clinit_id = env->GetStaticMethodID(kls, "<clinit>", "()V"); in Java_Main_lookupClinit()
793 jobject obj = env->ToReflectedMethod(kls, clinit_id, /*isStatic*/ true); in Java_Main_lookupClinit()