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

Function gen_to_jni_create_object_array

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

Source from the content-addressed store, hash-verified

863 l(f'')
864
865def gen_to_jni_create_object_array(decl, namespace, class_name, package_name, header=False):
866 struct_name = decl["name"]
867
868 fn = f'jobjectArray C2J_Create{struct_name}Array(JNIEnv* env, TypeInfos* types, const {struct_name}* src, uint32_t src_count)'
869 if header:
870 l(f'{fn};')
871 return
872
873 l(f'{fn} {{')
874 l(f' if (src == 0 || src_count == 0) return 0;')
875 l(f' jobjectArray arr = env->NewObjectArray(src_count, types->m_{struct_name}JNI.cls, 0);')
876 l(f' for (uint32_t i = 0; i < src_count; ++i) {{')
877 l(f' jobject obj = C2J_Create{struct_name}(env, types, &src[i]);')
878 l(f' env->SetObjectArrayElement(arr, i, obj);')
879 l(f' env->DeleteLocalRef(obj);')
880 l(f' }}')
881 l(f' return arr;')
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"]

Callers 1

gen_jni_namespace_sourceFunction · 0.85

Calls 1

lFunction · 0.70

Tested by

no test coverage detected