Property definitions

nitc $ AbstractCompilerVisitor :: native_array_instance
	fun native_array_instance(elttype: MType, length: RuntimeVariable): RuntimeVariable is abstract
src/compiler/abstract_compiler.nit:1359,2--96

nitc $ GlobalCompilerVisitor :: native_array_instance
	redef fun native_array_instance(elttype, length)
	do
		var ret_type = mmodule.native_array_type(elttype)
		ret_type = anchor(ret_type).as(MClassType)
		length = autobox(length, compiler.mainmodule.int_type)
		return self.new_expr("NEW_{ret_type.c_name}((int){length})", ret_type)
	end
src/compiler/global_compiler.nit:445,2--451,4

nitc $ SeparateErasureCompilerVisitor :: native_array_instance
	redef fun native_array_instance(elttype, length)
	do
		var nclass = mmodule.native_array_class
		var mtype = nclass.get_mtype([elttype])
		var res = self.new_var(mtype)
		res.is_exact = true
		self.require_declaration("NEW_{nclass.c_name}")
		length = autobox(length, compiler.mainmodule.int_type)
		self.add("{res} = NEW_{nclass.c_name}({length});")
		return res
	end
src/compiler/separate_erasure_compiler.nit:711,2--721,4