MCPcopy Create free account
hub / github.com/cretz/stackparam / primitive_box_methods

Function primitive_box_methods

src/native.rs:783–814  ·  view source on GitHub ↗
(jni_env: *mut JNIEnv)

Source from the content-addressed store, hash-verified

781}
782
783unsafe fn primitive_box_methods(jni_env: *mut JNIEnv) -> Result<PrimitiveBoxMethods, String> {
784 static mut PRIM_BOX_METHS: *const Result<PrimitiveBoxMethods, String> = 0 as *const Result<PrimitiveBoxMethods, String>;
785 static ONCE: Once = ONCE_INIT;
786 ONCE.call_once(|| {
787 unsafe fn method_ref(jni_env: *mut JNIEnv, class_name: &str, method_desc: &str) -> Result<MethodRef, String> {
788 let class_name_str = CString::new(class_name).unwrap();
789 let class = util::result_or_jni_ex((**jni_env).FindClass.unwrap()(jni_env,
790 class_name_str.as_ptr()), jni_env)?;
791 let meth_name_str = CString::new("valueOf").unwrap();
792 let desc_str = CString::new(method_desc).unwrap();
793 let method = util::result_or_jni_ex((**jni_env).GetStaticMethodID.unwrap()(jni_env,
794 class,
795 meth_name_str.as_ptr(),
796 desc_str.as_ptr()), jni_env)?;
797 return Result::Ok((class, method));
798 }
799 unsafe fn prim_box_meths(jni_env: *mut JNIEnv) -> Result<PrimitiveBoxMethods, String> {
800 return Result::Ok(PrimitiveBoxMethods {
801 boolean: method_ref(jni_env, "java/lang/Boolean", "(Z)Ljava/lang/Boolean;")?,
802 byte: method_ref(jni_env, "java/lang/Byte", "(B)Ljava/lang/Byte;")?,
803 char: method_ref(jni_env, "java/lang/Character", "(C)Ljava/lang/Character;")?,
804 short: method_ref(jni_env, "java/lang/Short", "(S)Ljava/lang/Short;")?,
805 int: method_ref(jni_env, "java/lang/Integer", "(I)Ljava/lang/Integer;")?,
806 long: method_ref(jni_env, "java/lang/Long", "(J)Ljava/lang/Long;")?,
807 float: method_ref(jni_env, "java/lang/Float", "(F)Ljava/lang/Float;")?,
808 double: method_ref(jni_env, "java/lang/Double", "(D)Ljava/lang/Double;")?,
809 });
810 }
811 PRIM_BOX_METHS = mem::transmute(Box::new(prim_box_meths(jni_env)));
812 });
813 return ptr::read(PRIM_BOX_METHS);
814}

Callers 1

get_local_varFunction · 0.85

Calls 1

prim_box_methsFunction · 0.85

Tested by

no test coverage detected