MCPcopy Create free account
hub / github.com/defold/defold / gen_to_jni_create_object_ptr_array

Function gen_to_jni_create_object_ptr_array

engine/jni/scripts/gen_java.py:884–901  ·  view source on GitHub ↗
(decl, namespace, class_name, package_name, header=False)

Source from the content-addressed store, hash-verified

882 l(f'}}')
883
884def gen_to_jni_create_object_ptr_array(decl, namespace, class_name, package_name, header=False):
885 struct_name = decl["name"]
886
887 fn = f'jobjectArray C2J_Create{struct_name}PtrArray(JNIEnv* env, TypeInfos* types, const {struct_name}* const* src, uint32_t src_count)'
888 if header:
889 l(f'{fn};')
890 return
891
892 l(f'{fn} {{')
893 l(f' if (src == 0 || src_count == 0) return 0;')
894 l(f' jobjectArray arr = env->NewObjectArray(src_count, types->m_{struct_name}JNI.cls, 0);')
895 l(f' for (uint32_t i = 0; i < src_count; ++i) {{')
896 l(f' jobject obj = C2J_Create{struct_name}(env, types, src[i]);')
897 l(f' env->SetObjectArrayElement(arr, i, obj);')
898 l(f' env->DeleteLocalRef(obj);')
899 l(f' }}')
900 l(f' return arr;')
901 l(f'}}')
902
903def gen_from_jni_create_object(decl, namespace, class_name, package_name, header=False):
904 struct_name = decl["name"]

Callers 1

gen_jni_namespace_sourceFunction · 0.85

Calls 1

lFunction · 0.70

Tested by

no test coverage detected