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

Property definitions

nitc :: java $ NitniCallback :: jni_methods_declaration
	# 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

nitc :: java $ MExplicitCall :: jni_methods_declaration
	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

nitc :: java $ MType :: jni_methods_declaration
	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

nitc :: java $ MClassType :: jni_methods_declaration
	redef fun jni_methods_declaration(from_mmodule)
	do
		# Don't generate functions for reference counters on extern classes
		if mclass.ftype != null then return new Array[String]

		return super
	end
src/ffi/java.nit:747,2--753,4