(jni_env: *mut JNIEnv, this: jobject, elems: jobjectArray, elems_len: jsize)
| 183 | } |
| 184 | |
| 185 | unsafe fn add_element_params(jni_env: *mut JNIEnv, this: jobject, elems: jobjectArray, elems_len: jsize) -> Result<(), String> { |
| 186 | let params = util::result_or_jni_ex((**jni_env).GetObjectField.unwrap()(jni_env, |
| 187 | this, |
| 188 | get_stack_params_field(jni_env)?), jni_env)?; |
| 189 | // If it's null we just treat it as empty |
| 190 | let params_len = if params.is_null() { |
| 191 | 0 |
| 192 | } else { |
| 193 | util::result_or_jni_ex((**jni_env).GetArrayLength.unwrap()(jni_env, params), jni_env)? |
| 194 | }; |
| 195 | |
| 196 | for index in 0..elems_len { |
| 197 | let elem = util::result_or_jni_ex((**jni_env).GetObjectArrayElement.unwrap()(jni_env, elems, index), jni_env)?; |
| 198 | if !elem.is_null() { |
| 199 | let param = if index >= params_len { |
| 200 | ptr::null_mut() |
| 201 | } else { |
| 202 | util::result_or_jni_ex((**jni_env).GetObjectArrayElement.unwrap()(jni_env, params, index), jni_env)? |
| 203 | }; |
| 204 | set_elem_param_info(jni_env, param, elem)?; |
| 205 | } |
| 206 | } |
| 207 | return Result::Ok(()); |
| 208 | } |
| 209 | |
| 210 | unsafe fn get_elem_param_info_field(jni_env: *mut JNIEnv) -> Result<jfieldID, String> { |
| 211 | static mut PARAM_INFO_FIELD: jfieldID = 0 as jfieldID; |
no test coverage detected