to enable this callback from Java code.
Return used by MModule::ensure_linking_callback_methods
TODO we return an Array to support cast and other features like that
# Returns the list of C functions to link with extern Java methods, as required
# to enable this callback from Java code.
#
# Return used by `MModule::ensure_linking_callback_methods`
#
# TODO we return an Array to support cast and other features like that
fun jni_methods_declaration(from_module: MModule): Array[String] do return new Array[String]
src/ffi/java.nit:504,2--510,93
redef fun jni_methods_declaration(from_mmodule)
do
var mproperty = mproperty
assert mproperty isa MMethod
var java_name = mproperty.build_cname(recv_mtype, from_mmodule, null, short_signature)
var jni_format = mproperty.build_jni_format(recv_mtype, from_mmodule)
var c_name = mproperty.build_cname(recv_mtype, from_mmodule, "___indirect", long_signature)
return ["""{"{{{java_name}}}", "{{{jni_format}}}", {{{c_name}}}}"""]
end
src/ffi/java.nit:532,2--542,4
redef fun jni_methods_declaration(from_mmodule)
do
var arr = new Array[String]
for variation in ["incr", "decr"] do
var friendly_name = "{mangled_cname}_{variation}_ref"
var jni_format = "(Lnit/app/NitObject;)V"
var cname = "{from_mmodule.impl_java_class_name}_{friendly_name}"
arr.add """{"{{{friendly_name}}}", "{{{jni_format}}}", {{{cname}}}}"""
end
return arr
end
src/ffi/java.nit:596,2--607,4