Use an actual JNINativeInterface structure for gJniSleepForeverStub.
This adds a small amount of type safety, although there's still a
presumption that the SleepForever function is ABI compatible with
any type.
Change-Id: Ifc6478bfe1998a1c093bd3b337f030f65b6344d2
diff --git a/runtime/jni/jni_internal.cc b/runtime/jni/jni_internal.cc
index cd9ee06..8463bc2 100644
--- a/runtime/jni/jni_internal.cc
+++ b/runtime/jni/jni_internal.cc
@@ -3258,244 +3258,245 @@
: &JniNativeInterfaceFunctions<true>::gJniNativeInterface;
}
-void (*gJniSleepForeverStub[])() = {
- nullptr, // reserved0.
- nullptr, // reserved1.
- nullptr, // reserved2.
- nullptr, // reserved3.
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
- SleepForever,
+JNINativeInterface gJniSleepForeverStub = {
+ nullptr, // reserved0.
+ nullptr, // reserved1.
+ nullptr, // reserved2.
+ nullptr, // reserved3.
+ reinterpret_cast<jint (*)(JNIEnv*)>(SleepForever),
+ reinterpret_cast<jclass (*)(JNIEnv*, const char*, jobject, const jbyte*, jsize)>(SleepForever),
+ reinterpret_cast<jclass (*)(JNIEnv*, const char*)>(SleepForever),
+ reinterpret_cast<jmethodID (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<jfieldID (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jclass, jmethodID, jboolean)>(SleepForever),
+ reinterpret_cast<jclass (*)(JNIEnv*, jclass)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jclass, jclass)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jclass, jfieldID, jboolean)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jthrowable)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jclass, const char*)>(SleepForever),
+ reinterpret_cast<jthrowable (*)(JNIEnv*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, const char*)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jint)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jobject, jobject)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jint)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jclass)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jclass (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jobject, jclass)>(SleepForever),
+ reinterpret_cast<jmethodID (*)(JNIEnv*, jclass, const char*, const char*)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobject, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobject, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobject, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jobject, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jobject, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jobject, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jobject, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jobject, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jobject, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jobject, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jobject, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jobject, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jobject, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jobject, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jobject, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jobject, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jobject, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jobject, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jobject, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jobject, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jobject, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jobject, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jobject, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jobject, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jobject, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jobject, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jobject, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobject, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobject, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobject, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jobject, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jobject, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jobject, jclass, jmethodID, const jvalue*)>(
+ SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jobject, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jobject, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jobject, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jobject, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jobject, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jobject, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jobject, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jobject, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jobject, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jobject, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jobject, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jobject, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jobject, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jobject, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jobject, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jobject, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jobject, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jobject, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jobject, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jobject, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jobject, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jfieldID (*)(JNIEnv*, jclass, const char*, const char*)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobject, jfieldID)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jobject, jfieldID)>(SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jobject, jfieldID)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jobject, jfieldID)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jobject, jfieldID)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jobject, jfieldID)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jobject, jfieldID)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jobject, jfieldID)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jobject, jfieldID)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jfieldID, jobject)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jfieldID, jboolean)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jfieldID, jbyte)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jfieldID, jchar)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jfieldID, jshort)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jfieldID, jint)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jfieldID, jlong)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jfieldID, jfloat)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobject, jfieldID, jdouble)>(SleepForever),
+ reinterpret_cast<jmethodID (*)(JNIEnv*, jclass, const char*, const char*)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jmethodID, ...)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jmethodID, va_list)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jmethodID, const jvalue*)>(SleepForever),
+ reinterpret_cast<jfieldID (*)(JNIEnv*, jclass, const char*, const char*)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jclass, jfieldID)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*, jclass, jfieldID)>(SleepForever),
+ reinterpret_cast<jbyte (*)(JNIEnv*, jclass, jfieldID)>(SleepForever),
+ reinterpret_cast<jchar (*)(JNIEnv*, jclass, jfieldID)>(SleepForever),
+ reinterpret_cast<jshort (*)(JNIEnv*, jclass, jfieldID)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jclass, jfieldID)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jclass, jfieldID)>(SleepForever),
+ reinterpret_cast<jfloat (*)(JNIEnv*, jclass, jfieldID)>(SleepForever),
+ reinterpret_cast<jdouble (*)(JNIEnv*, jclass, jfieldID)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jfieldID, jobject)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jfieldID, jboolean)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jfieldID, jbyte)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jfieldID, jchar)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jfieldID, jshort)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jfieldID, jint)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jfieldID, jlong)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jfieldID, jfloat)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jclass, jfieldID, jdouble)>(SleepForever),
+ reinterpret_cast<jstring (*)(JNIEnv*, const jchar*, jsize)>(SleepForever),
+ reinterpret_cast<jsize (*)(JNIEnv*, jstring)>(SleepForever),
+ reinterpret_cast<const jchar* (*)(JNIEnv*, jstring, jboolean*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jstring, const jchar*)>(SleepForever),
+ reinterpret_cast<jstring (*)(JNIEnv*, const char*)>(SleepForever),
+ reinterpret_cast<jsize (*)(JNIEnv*, jstring)>(SleepForever),
+ reinterpret_cast<const char* (*)(JNIEnv*, jstring, jboolean*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jstring, const char*)>(SleepForever),
+ reinterpret_cast<jsize (*)(JNIEnv*, jarray)>(SleepForever),
+ reinterpret_cast<jobjectArray (*)(JNIEnv*, jsize, jclass, jobject)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, jobjectArray, jsize)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jobjectArray, jsize, jobject)>(SleepForever),
+ reinterpret_cast<jbooleanArray (*)(JNIEnv*, jsize)>(SleepForever),
+ reinterpret_cast<jbyteArray (*)(JNIEnv*, jsize)>(SleepForever),
+ reinterpret_cast<jcharArray (*)(JNIEnv*, jsize)>(SleepForever),
+ reinterpret_cast<jshortArray (*)(JNIEnv*, jsize)>(SleepForever),
+ reinterpret_cast<jintArray (*)(JNIEnv*, jsize)>(SleepForever),
+ reinterpret_cast<jlongArray (*)(JNIEnv*, jsize)>(SleepForever),
+ reinterpret_cast<jfloatArray (*)(JNIEnv*, jsize)>(SleepForever),
+ reinterpret_cast<jdoubleArray (*)(JNIEnv*, jsize)>(SleepForever),
+ reinterpret_cast<jboolean* (*)(JNIEnv*, jbooleanArray, jboolean*)>(SleepForever),
+ reinterpret_cast<jbyte* (*)(JNIEnv*, jbyteArray, jboolean*)>(SleepForever),
+ reinterpret_cast<jchar* (*)(JNIEnv*, jcharArray, jboolean*)>(SleepForever),
+ reinterpret_cast<jshort* (*)(JNIEnv*, jshortArray, jboolean*)>(SleepForever),
+ reinterpret_cast<jint* (*)(JNIEnv*, jintArray, jboolean*)>(SleepForever),
+ reinterpret_cast<jlong* (*)(JNIEnv*, jlongArray, jboolean*)>(SleepForever),
+ reinterpret_cast<jfloat* (*)(JNIEnv*, jfloatArray, jboolean*)>(SleepForever),
+ reinterpret_cast<jdouble* (*)(JNIEnv*, jdoubleArray, jboolean*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jbooleanArray, jboolean*, jint)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jbyteArray, jbyte*, jint)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jcharArray, jchar*, jint)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jshortArray, jshort*, jint)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jintArray, jint*, jint)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jlongArray, jlong*, jint)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jfloatArray, jfloat*, jint)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jdoubleArray, jdouble*, jint)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jbooleanArray, jsize, jsize, jboolean*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jbyteArray, jsize, jsize, jbyte*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jcharArray, jsize, jsize, jchar*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jshortArray, jsize, jsize, jshort*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jintArray, jsize, jsize, jint*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jlongArray, jsize, jsize, jlong*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jfloatArray, jsize, jsize, jfloat*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jdoubleArray, jsize, jsize, jdouble*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jbooleanArray, jsize, jsize, const jboolean*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jbyteArray, jsize, jsize, const jbyte*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jcharArray, jsize, jsize, const jchar*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jshortArray, jsize, jsize, const jshort*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jintArray, jsize, jsize, const jint*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jlongArray, jsize, jsize, const jlong*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jfloatArray, jsize, jsize, const jfloat*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jdoubleArray, jsize, jsize, const jdouble*)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jclass, const JNINativeMethod*, jint)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jclass)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<jint (*)(JNIEnv*, JavaVM**)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jstring, jsize, jsize, jchar*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jstring, jsize, jsize, char*)>(SleepForever),
+ reinterpret_cast<void* (*)(JNIEnv*, jarray, jboolean*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jarray, void*, jint)>(SleepForever),
+ reinterpret_cast<const jchar* (*)(JNIEnv*, jstring, jboolean*)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jstring, const jchar*)>(SleepForever),
+ reinterpret_cast<jweak (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<void (*)(JNIEnv*, jweak)>(SleepForever),
+ reinterpret_cast<jboolean (*)(JNIEnv*)>(SleepForever),
+ reinterpret_cast<jobject (*)(JNIEnv*, void*, jlong)>(SleepForever),
+ reinterpret_cast<void* (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<jlong (*)(JNIEnv*, jobject)>(SleepForever),
+ reinterpret_cast<jobjectRefType (*)(JNIEnv*, jobject)>(SleepForever),
};
const JNINativeInterface* GetRuntimeShutdownNativeInterface() {
- return reinterpret_cast<JNINativeInterface*>(&gJniSleepForeverStub);
+ return &gJniSleepForeverStub;
}
} // namespace art